aLeXanDer.. Geschrieben 27. November 2007 Geschrieben 27. November 2007 Hallo , ich habe folgendes Problem ,eigentlich sind es gleich mehrere auf die ich keine Antwort weiß. Ich lese eine ini Datei aus und möchte nun diese in einem StringGrid anzeigen. Aber nur in der ersten Spalte. z.B : Wenn 2 Einträge sind , soll er den Ersten in die erste Spalte und die erste Zelle schreiben und den 2ten Eintrag in die erste Spalte , zweite Zelle. mit for Abfragen ?! wie und auf was? Dann soll eine andere Datengruppe in die 2te Spalte geladen werden. Diese Spalte soll nun auch änderbar sein. Das was geändert wird soll dann natürlich wieder in die .ini gespeichert werden. Kann mir bitte jemand helfen?! Danke Mfg Alex Zitieren
Klotzkopp Geschrieben 27. November 2007 Geschrieben 27. November 2007 Kann mir bitte jemand helfen?! Zerleg deine Aufgabe in Teilprobleme, und stell dann konkrete Fragen zu Problemen, die du bei der Umsetzung der einzelnen Teile hast. Es wird sich hier niemand hinter dich setzen und dir jeden Handgriff erklären. Zitieren
aLeXanDer.. Geschrieben 27. November 2007 Autor Geschrieben 27. November 2007 Problem 1 : Wie schaffe ich es , das Werte , die in einem Ansistring gespeichert sind in dem StringGrid dargestellt werden und zwar so , das jeder Wert in eine eigene Zelle kommt ? 1.Wert ..->Cells[0][0] = Ansistring(Teil1) 2.Wert ..->Cells[0][1] = Ansistring(Teil2) ... ? Problem 2 : In Spalte 2 dürfen Werte geändert werden diese sollen dann wieder in die .ini Datei abgespeichert werden. mfg Alex Zitieren
Klotzkopp Geschrieben 27. November 2007 Geschrieben 27. November 2007 Deine Zerlegung ist noch ziemlich grob... Problem 1 : Wie schaffe ich es , das Werte , die in einem Ansistring gespeichert sind in dem StringGrid dargestellt werden und zwar so , das jeder Wert in eine eigene Zelle kommt ?1a) String in Teile zerlegen 1b) Teile eintragen Problem 2 : In Spalte 2 dürfen Werte geändert werden diese sollen dann wieder in die .ini Datei abgespeichert werden. 2a) Im Steuerelement das Bearbeiten erlauben 2b) Werte auslesen 2c) Werte zusammenfügen 2d) Zusammengefügte Werte in Datei schreiben P.S.: Es kann durchaus sein, dass Borland für manche Teilaufgaben fertige Funktionen anbietet. Davon habe ich keine Ahnung. Zitieren
aLeXanDer.. Geschrieben 27. November 2007 Autor Geschrieben 27. November 2007 Sorry für die zu grobe Zerlegung. Irgendwie ist heute der Wurm drin. Ich schaffe es nicht mal den AnsiString zu zuerlegen und das ganze in eine Schleife zu packen , das das StringGrid Zelle für Zelle gefüllt wird. Ich komm heute einfach nicht drauf... Kann mir bitte jemand dazu mal ne Hilfe geben ?! Danke Zitieren
Klotzkopp Geschrieben 27. November 2007 Geschrieben 27. November 2007 Kann mir bitte jemand dazu mal ne Hilfe geben ?!Gleiche Vorgehensweise: In Teilprobleme zerlegen. Wie ist dein String denn aufgebaut? Zitieren
aLeXanDer.. Geschrieben 27. November 2007 Autor Geschrieben 27. November 2007 Bin Jung und Dumm , werds schon noch lernen. Also ich lese eine .ini Datei ein. In dieser .ini sind verschiedene Daten gespeichert. Die .ini ist in dem ansistring prot gespeichert menge=GetPrivateProfileString(prot.c_str(), "Anzahl von Drucker", "error", buf, 256, FileName.c_str()); str=buf; if(str=="error") { return; } anzahl=atoi(buf); Im Moment werden die dann in str abgespeicherten Werte noch in einer Listbox ausgegeben str=buf; ListBox2->Items->Add(str); Diese würde ich jetzt aber gern durch ein StringGrid ersetzen, da ich neben der jetzigen Listbox auch noch ein CSpinEdit habe. Das ich ebenfalls dann durch das StringGrid ersetze. Daher ist mein Problem. Ich muss die in dem AnsiString gespeicherten Informationen einzeln auslesen und jede Information in eine eigene Zelle in der ersten Spalte vom StringGrid packen. (Die .ini enthält meist nicht mehr als 3-5 Informationen die eingetragen werden sollen) Hier mein Problem: Die Umsetzung.Ich komm nicht darauf , wie ich den String einzel abfrage und die for-Schleife(wäre mein Lösungsansatz) aufbaue bzw. definieren muss. Das zweite Problem ist , das ich ebenfalls aus der .ini dann einen weiteren Datensatz einlese.(Dieser besteht nur aus einer Zahl) Die Zahl darf dann abgeändert werden. Die abgeänderte Zahl muss dann wieder in die .ini übertragen werden. Die Einstellung das geändert werden darf ist nicht das Problem , sondern die Methode , die eingegebene Zahl wieder in die .ini zu schreiben. mfg alex Zitieren
Klotzkopp Geschrieben 28. November 2007 Geschrieben 28. November 2007 Ich muss die in dem AnsiString gespeicherten Informationen einzeln auslesen und jede Information in eine eigene Zelle in der ersten Spalte vom StringGrid packen.Ich sehe nicht, wo das Problem ist. Ich dachte zuerst, in dem String wäre der gesamte Inhalt der Ini-Datei. Aber du hast da ja immer nur jeweils einen Wert drin. Hier mein Problem: Die Umsetzung.Ich komm nicht darauf , wie ich den String einzel abfrage und die for-Schleife(wäre mein Lösungsansatz) aufbaue bzw. definieren muss.Warum schreibst du die ganzen Strings nicht in eine Liste, die du dann hinterher in der Schleife abarbeitest? Die Einstellung das geändert werden darf ist nicht das Problem , sondern die Methode , die eingegebene Zahl wieder in die .ini zu schreiben.WritePrivateProfileString? Zitieren
Pointerman Geschrieben 28. November 2007 Geschrieben 28. November 2007 Moin! Du solltest Dir dringen dir Klasse TIniFile angucken! Die ermöglicht Dir ganz einfach auf die einzelnen Strings in der Datei zuzugreifen, bzw auf bestimmte einträge zuzugreifen. Dann kannst Du Dir auch die Arbeit mit dem Stringzerlegen sparen. Zitieren
aLeXanDer.. Geschrieben 29. November 2007 Autor Geschrieben 29. November 2007 Danke für die Tipps. Die IniList hab ich gar nicht in meinem Compiler Pointerman Zitieren
Pointerman Geschrieben 29. November 2007 Geschrieben 29. November 2007 Hallo! Ich hatte wegen Klotzkopps Aussage, daß er keine Ahnung habe, ob es Teilfunktionen bei Borland gibt, angenommen, daß Du den Borland Builder benutzen würdest... :floet: Da hättest Du dann die praktische Klasse TIniFile der VCL benutzen können. Ansonsten guck Dir doch mal die folgende Klasse an: CIniFile auf Codeproject Man muss ja nicht jedesmal das Rad neu erfinden! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.