Ansatz Suchfunktion in INI Datei.
-
ich weiss was du mir sagen will.. du willst mir sagen das ich auch so alle meine wert ohen die key aus der STringList bekomme.. Stimmts ?..
also :
TIniFile *ini = new TIniFile(FileName1); TStringList *NameListe = new TStringList; ini->ReadSectionValues("Name",NameListe);damit lese ich meine nin datei aus sprich die erste Section die Section Name und dann hab ich ne StringList names NameListe und die schaut dann so aus :
1=
2=Tiova
3=Wollna
4=Hugo
5=Lustig
6=Hansel
7=Becker
8=Hagdaralles ok und so wie ich das versteh müsste das dann so gehen :
Memo1->Text = NameListe->Values[1];dadurch geb ich mir also : hgfhgf und wie mach ich das jetzt das ich alle raus bekomme ?
-
junix schrieb:
2. Schau dir die Eigenschaften
TStringList::Names und TStringList::Values in der Hilfe an...ich hasse Selbstzitate...
-junix
-
hab ich doch schon gelesen herr junix keien angst..
ich scheiter blos na na dummen schleife.
for (int i = 0; i < NameListe->Values[i]; i++) { Memo1->Text = NameListe->Values[i]; } }
-
|23| schrieb:
for (int i = 0; i < NameListe->Values[i]; i++) { Memo1->Text = NameListe->Values[i]; } }mach mal aus i=0 i=1 und nich Memo1->Text= sondern Memo1->Lines->Add(NameListe->Values[i]);
wenn das nicht der grund war, dann schreib mal bitte den genauen fehler hin, bzw was nicht funzt, was aber passieren soll..
-
Dazu kommt, dass sich mit TStringList::Names eine massiv weniger fehleranfällige (und dadurch bessere) Variante erstellen liesse, mein lieber 23.
Vielleicht solltest du dir mal darüber klar werden, was genau du mit "i" übergibst, statt einfach gedankenlos Code hinzubröseln, ne?
-junix
-
Ach junix, du bist mir wirklich nen netter Mensch, Danke, ich dank dir für die Zeit und deine Nerven die du in meine meinst aus Schnelligkeit mit Rechtschreibfehlern vollgeboomten Texte investiert hast. Ich weiß ab und an stell ich mich ziemlich Dumm an aber ab und an ist das auch noch das C++ newbie Gehirn… jetzt hab ich es gerafft.. später.. aber immerhin

und dank gebührt auch dem BlackHawk und den anderen Usern des c-plusplus.net
have a nice day bis es wieder heißt |23| fragt den junix

mfg
|23|
-
Edit1
void __fastcall TForm3::Edit1KeyPress(TObject *Sender, char &Key) { const AnsiString FileName1 = "D:\\C_Source\\Projekte\\TelefonBuch\\TelefonBuch[0.2]\\telefonliste.ini"; TIniFile *ini = new TIniFile(FileName1); TStringList *NameListe = new TStringList(); TStringList *NameListe2 = new TStringList(); AnsiString asStr; ini->ReadSectionValues("Name",NameListe); ListBox1->Items->Clear(); for (int i = 0; i < NameListe->Count; i++) { AnsiString bla1 = NameListe->Values[i+1]; NameListe2->Add(NameListe->Values[i+1]); } for (int i=0; i < NameListe2->Count; i++) { asStr = NameListe2->Strings[i]; for(int i=1; i < 256; i++) { if (asStr[i] == Key) { ListBox1->Items->Add(asStr); } else break; } } }sicht da jemand nen Fehler ??
Jemand ne idee wie ich das jetzt erweiter um nach 2 Key prüfen
-
Ja:
- Du hast meinen Ratschlag noch immer nicht befolgt
- Du hast vergessen das Fehlverhalten zu beschreiben
- Du hast es versäumt mit dem Debugger (<- der Link steht nicht zum Witz da) selbst einen Versuch zu unternehmen, die Ursache für das Fehlverhalten zu finden.
- Die Namenslistens wernden nicht freigegeben
- Liste2 wird gar nie verwendet/befüllt¨
Ich glaub das REicht für den Anfang hm?
EDIT: kleine Ergänzung:
- Du hast es verpennt, den Source anständig zu formatieren
- Du hast vergessen den Quelltext zu kommentieren
-
|23| schrieb:
sicht da jemand nen Fehler ??
Bestimmt.
Also, wenn ich richtig rate, was Dein Code tun soll, dann sehe ich nicht einen Fehler, sondern auf die Schnelle mindestens zwei.Gruß,
Alexander
-
Ne if mit Kommata??
Schaust du dir eigentlich die Meldungen vom Compiler an und klickst dann doppelt drauf, dass du dir die Fehler"stelle" angucken kannst?? Wenn du das machst/machen würdest, wären nur noch die Hälfte der Fehler da.
-
Blackhawk: Schau mal in die Borland-Hilfe:
AnsiString::operator [](o;
-junix
-
^^
manchmal bin auch ich plöht <- mein ausdruck für dumm,blöd