laden von einem Ansistring in ein Memo feld
-
hiho,
ich habe eine lese Button gemacht, jedoch fehlt mir dazu, der passende Befehl um es ins Memo Feld zu laden.
Ich dachte
Memo1->Lines->Add(cBuffer);
würde gehen. Aber es geht nicht.Daraufhin habe ich gegoogelt und
Memo1->Lines->Strings[i].c_str() = (char)chr;
gefunden. es geht aber auch nicht.wie muss ich es nun richtig schreiben, dass der Text geladen wird.
Mein Lese Button ist bis jetzt das :char *cBuffer = new char[8]; fread(cBuffer,sizeof(char),8,meineDatei);
-
Mir scheint, dass Du keine richtige Ahnung hast, was Du eigentlich tust. Lesen und Schreiben geht viel einfacher, wenn Du die VCL-Methoden nutzt. Schau Dir doch mal die Methoden in der Hilfe an, die Dir in anderen Threads bereits gegeben wurden. erster Ansatz:
TStringList::Lines::LoadFromFile() bzw. SaveToFile()
TMemo::Lines::Text bzw. StringsSchau[setzt man hier ein Komma?], was die Funktionen für Parameter benötigen und was sie Dir zurückliefern. Versuche das Ganze dann für Dein Problem zu adaptieren.
Du kannst natürlich auch mit Deinem Ansatz weiterarbeiten, das wird dann aber IMHO schwerer und wäre u.U. hier das falsche Sub-Forum.
-
hiho,
ich habe mit mühe es hinbekommen, dass mein Programm Texte schreibt und diese dann speichert. Das geht, jedoch bekam ich das Laden nicht hin. Dann gab mir einer den Tipp des Codes:
char *cBuffer = new char[8]; fread(cBuffer,sizeof(char),8,meineDatei);
Der geht auch ^^ .
Jedoch lädt er ihn nicht in das Memo Feld. Dies wollte ich nun dann noch verbessern.
-
hiho,
kurz und knackig gesagt, suche ich ein befehl der das char Array in einem Memo Feld ausgibt.
-
siehe oben...
Memo->Lines->LoadFromFile("bla.txt");
greetz KN4CK3R
-
Das ist schön und gut, jedoch schreibt er bei mir den Text in das Char array mit 8 Zeichen.
Wie lese ich daraus denn die Datei? Sie ist ja in dem array.Schreibe Button:
{ if(fileexists){ Reset(); } fseek(meineDatei,0,SEEK_SET); const char *s = edtDaten->Text.c_str(); fwrite(s,sizeof(char),strlen(s),meineDatei); }
-
warum liest du die Daten in ein Array? Ist doch völlig unnötig in dem Fall.
greetz KN4CK3R
-
hiho,
es ist nicht unnötig, da der Text 8 Zeichen mnax haben soll.
Also wie kann ich es am besten hinbekommen, dass es ins Memofeld lädt.`??
-
Schreib doch einfach mal in Deinen Quellcode LoadFromFile(), Drücke F1, wähle das passende Objekt (TStringList) aus und lese Dir den Text durch.
-
lad die Datei halt komplett in das Memofeld und nimm dann substr()
greetz KN4CK3R
-
hiho,
kann ich das nicht einfach aus dem Aray i.wie direkt in das Memo feld laden?
Das mit dem Array ist ja absichtlich so gemacht, da es 8 Zeichen haben muss. Deswegen möchte ich dies auch ausgeben.
die Hilfe bringt mir leider nichts...
-
Hallo
Da du offenbar auf dein char-Array bestehst...
char x[8]; Memo1->Lines->Add(x);
geht wunderbar. Allerdings muß x dafür Nullterminiert sein.
bis bald
akari
-