CheckBox Eigenschaften speichern.
-
noch leichter: guck dir TIniFile an.
Dann nimmst du halt z.b. CheckBoxName=true und so
-
und wie SCHREIBE ich "enabled=true" in eine Textdatei.
Ich finde den "SaveToFile" Befehl nicht "Checkbox1->?"was muss ich da eingeben?
-
Ein Tipp (wenn du mit einem txt.file arbeiten willst):
Die Checkbox kennt nix womit du den "checked" wert als "string" in eine Datei schreiben kannst

Also speichere abhägig vom Status ein "true" oder "false" in einen String oder eine Stringlist und speicher dann den string in die datei...
-
Könntest du mir bitte ein Beispiel geben

-
Hmm, ok. So jetzt aus dem Stehgreif (hab grad kein C++Builder zur Hand)
das txt.file legst du am besten zuerst per Hand an und schreibst in die erste Zeile ein "true"
//im FormCreate
TStringist *liste = new TStringList; liste->Clear(); liste->LoadFromFile("status.txt"); if(liste->Items->Strings[0] == "true") { checkbox->Checked = true; } else { checkbox->Checked = false; } delete liste;zum Abspeichern des Status
TStringist *liste = new TStringList; liste->Clear(); if(checkbox->Enabled == true) { liste->Add("true"); liste->SaveToFile("status.txt"); } else { liste->Add("false"); liste->SaveToFile("status.txt"); } delete liste;Sollte ich mich irgendwo verptippt haben, guck dir die eigenschaften von TStringList an.
Aber,das ist nur ne notlösung, besser ist die verwendung von TIniFile

-
"liste->Items" kennt er nicht
. =funktioniert nicht.
[C++ Fehler] Unit1.cpp(50): E2316 'Items' ist kein Element von 'TStringList'Ist die Verwedung eines *.ini files einfacher?
-
TStringList->Strings->Items
ja, ne ini is viel leichter, weil es dazu klassen gibt!
-
Könnest du mir das bitte erklären, bzw sagen wo ich ein Beispiel finde?
Das mit der *.txt kommt mir grad n bissl spanisch vor

-
Öffne mal die Borland Hilfe, und tipp dort TIniFile ein! Dann DblKlicke auf "TIniFile" und dann auf "Beispiel" (oben)!
Klar soweit?
Das Beispiel ist recht gut, und da müsste alles enthalten sein, was du benötigst!
-
Hallo!
Hier mal für Anfänger ein lauffähiges Beispiel (habe ich mal vor Jahren programmiert, also nicht schimpfen

ABER: TIniFile ist wirklich ansehnlicher und empfehlenswerter!
Globale Variablen:
int messagef1=true; int messagef2=true; int messager=true;Einstellungen laden:
if((datei2=fopen("nihongo.ncf", "r"))==NULL) { Application->MessageBox("Datei kann nicht gelesen werden!", "Error", MB_OK); return; } fscanf(datei2,"%2d %2d %2d",&messager,&messagef1,&messagef2); fclose(datei2); rm1->Checked=messager; // rm1 ist eine CheckBox nfm1->Checked=messagef1; // nfm1 ist eine CheckBox lfm1->Checked=messagef2;// lfm1 ist eine CheckBox
Einstellungen speichern:
if((datei2=fopen("nihongo.ncf", "wr+"))==NULL) { Application->MessageBox("Datei konnte nicht geschrieben werden", "Error", MB_OK); return; } messager= rm1->Checked; // rm1 ist eine CheckBox messagefl=nfm1->Checked; // nfm1 ist eine CheckBox messagef2=lfm1->Checked;// lfm1 ist eine CheckBox
fprintf(datei2,"%d %d %d",messager,messagef1,messagef2);
_fcloseall();[/code]Grüße
-
ich bevorzuge trotz aller schreibtechnik TIniFile

Beispiel :
//ini.ini: [CB] cb1=true cb2=false //unit1.cpp: [b]#include <IniFiles.hpp>[/b] TIniFile *ini=new TIniFile("C:\Programme\MyProjects\Ini\ini.ini"); cb1->Enabled=ini->ReadString("CB","cb1",false); //cb1 u cb2 sind CheckBoxen cb2->Enabled=ini->ReadString("CB","cb2",false); //ini->ReadString(AnsiString Section,AnsiString Key,Rückabewert_wenn_nichtlesbar); delete ini;
-
ich bin am verzweifeln
*heul*
ich kann als anfänger mit den sachen fast gar nix anfangen, bzw. ich glaub ich stell mich grad sehr blöd an. Die hilfe von borland ist meiner meinung nach beschissen.Könnt ihr mir einfach nur sagen wie ich jetzt KONKRET den "TEXT eines Labels" in die "status.ini"(Befindet sich im Projektverzeichnis) schreibe. Mit "Label1->caption" ,etc.
wäre echt nett von euch
..wenn ich das habe ist es kein problem mehr andere dinge reinzuschreiben.
-
neobanz schrieb:
...
Könnt ihr mir einfach nur sagen wie ich jetzt KONKRET den "TEXT eines Labels" in die "status.ini"(Befindet sich im Projektverzeichnis) schreibe. Mit "Label1->caption" ,etc. ...Zum reinschreiben (Kopie aus der Borland-Hilfe, welche btw. eine der besten im Vergleich zu M$ ist..):
TIniFile *ini; ini = new TIniFile("status.ini"); ini->WriteString ( "Label1", "Caption", Label1->Caption); delete ini;
-
sorry aber bei mir steht immer noch nix in dem inifile "status.ini"
.
Aber es kommt keine Fehlermeldung mehr
-
sag mal, was steht denn in dem Label1?
Wenn da nichts drin steht, kann da auch nichts in die INI reingeschrieben werden!
Vorschlag:
Mache dies:
1. Lösche deine status.ini
2. nimm diesen Code:Label1->Caption="Hallo"; TIniFile *ini; ini = new TIniFile("status.ini"); ini->WriteString ( "Label1", "Caption", Label1->Caption); delete ini;3. Suche über die Windows-Such-Funktion ("Start"->"Suchen") die Datei "status.ini" auf allen Festplatten und Unterverzeichnissen...
Dann sehen wir weiter

-
Die Datei ist auf einam unter c:\status.ini?!

ich hab dacht wenn man nix angibt liest er aus dem Projektverzeichnis?
ups..was muss ich angeben um die Datei ins Projektverzeichnis zu speichern ohne "C:\Dokumente und Einstellungen\Admin\Eigene Dateien\Projekte\......" anzugeben?
-
Hilft dies?
"GetCurrentDir gibt den Namen des aktuellen Verzeichnisses zurück."
-
Allerletzte Frage: Wie bette ich das "GetCurrentDir" ein

ansonstn hab ich alles und es funktioniert auch...nochmals !!danke!! dass ihr so geduldig ward

-
is ja echt schlimm mit dir

nee, versteh ich ja, ich war auch mal newbam besten du nimmst
TIniFile *ini=new TIniFile(".\\status.ini");dann .==aktuelles verzeichnis und halt in dem verzeichnis in die status.ini!
anders:
AnsiString Pfad=GetCurrentDir()+"\\status.ini";
-
ES GEHT!!!!!

DANKE FÜR DIE GEDULD!!!
