StartseiteProgrammierungC++/VCL

Regedit Einträge verwalten

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

Benötigter Header: #include <vcl/Registry.hpp>

Einträge in die Regedit schreiben:
01
02
03
04
05
06
07
08
09
TRegistry& regkey = *new TRegistry();
regkey.RootKey    = HKEY_LOCAL_MACHINE;                       //Hauptkey
bool keygood      = regkey.OpenKey("SOFTWAREmyprog",true); 
//Hier wird der Schlüssel bestimmt in den geschrieben wird 
regkey.LazyWrite  = false;

regkey.WriteBool("boolwert_in_regedit", bool_prog); 
regkey.WriteInteger("width", width_prog);
regkey.CloseKey();
Beitrag anzeigen ⇒

Dateien und Verzeichnisse

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

Benötigte Headerdatei: #include <windows.h>

Datei kopieren:
CopyFileA arbeitet mit AnsiCode.
CopyFileW arbeitet mit Unicode.
01
CopyFileA("C:quelle.txt","D:ziel.txt",FALSE);
Datei löschen:
01
DeleteFile("datei.txt");
Beitrag anzeigen ⇒

Umwandlungen

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL
String to Int umwandeln
01
02
03
int zahl   = StrToInt(Edit->Text.c_str());
//oder:
int zahl_1 = atoi(Edit->Text.c_str());
Beitrag anzeigen ⇒

FTP-Verbindung (Indy)

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

1. Indy-Komponente der Form hinzufügen.
2. Verbindung vorbereiten:

01
02
03
04
05
IdFTP1->Host="adresse.de";     //Deine FTP Adresse, ohne das ftp: und die 2 Slash
IdFTP1->User="name";           // Dein FTP Benutzername
IdFTP1->Password="key";        // Dein FTP Passwort
IdFTP1->Port=21;               // FTP Port meistens 21
IdFTP1->TransferType=ftBinary; // Transfer Typ, kannst du ftBinary lassen

3. Verbinden:
Beitrag anzeigen ⇒

Statusmeldungen über Richedit ausgeben

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

3 Funktionen die einen gewünschten Text sofort über ein Richedit mit gewünschter Farbe ausgeben.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
//string in grün an RichEdit schicken
void TFormMain::sendgreen(String str)
{    RichLog->SelAttributes->Color = clGreen;
     RichLog->Lines->Add(str);
     RichLog->Perform(EM_SCROLLCARET, 0, 0);
}
//----------------------------------------------------
//string in rot an RichEdit schicken
void TFormMain::sendred(String str)
{    RichLog->SelAttributes->Color = clRed;
     RichLog->Lines->Add(str);
     RichLog->Perform(EM_SCROLLCARET, 0, 0);
}
//-----------------------------------------------------
//string in schwarz an RichEdit schicken
void TFormMain::sendblack(String str)
{    RichLog->SelAttributes->Color = clBlack;
     RichLog->Lines->Add(str);
     RichLog->Perform(EM_SCROLLCARET, 0, 0);
}
//-----------------------------------------------------

Beispiel:
Text in rot ausgeben: sendred("Verbindung fehlgeschlagen");

Beitrag anzeigen ⇒

Funktion Performence messen

22. AUGUST 2011
von Jörg
Programmierung - C++/VCL

Um die Geschwindigkeit einer Funktion zu messen, braucht man nur die folgenden zwei Funktionen erstellen und die Ausgabe einen Label zuweisen.

vor der zu messende Funktion:
01
02
03
04
05
06
void TForm1::vorFoo()
{   // Frequenz des hochauflösenden Performance Counters bestimmen:
    QueryPerformanceFrequency(&ilPerfFreq);
    // Zählerstand des Performance Counters auslesen:
    QueryPerformanceCounter(&ilStartTime);
}
nach der zu messende Funktion:
Beitrag anzeigen ⇒
Ein Frosch der sich an der Seite festhält