Zum Inhalt springen

C++ StringGrid Problem


aLeXanDer..

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?
Link zu diesem Kommentar
Auf anderen Seiten teilen

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! :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...