ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1593
1593
EMPFEHLEN
-
Hi,
ich habe ein Problem mit der ListBox bei Borland C Builder:
Ich möchte Inhalte aus verschiedenen Edit-Fenstern in einer ListBox wiedergeben. Dazu möchte ich wissen wie ich es machen kann, dass der Inhalt des ersten Edit-Fenster in der ersten Zeile am Anfang, der Inhalt des zeiten Edit-Fensters auch in der ersten Zeile aber an Stelle 20, also 20 Spalten rechts daneben reingeschrieben wird.
Damit ich nicht noch en weiteres Thema aufmachen muss würde ich noch gerne eine einfache Frage stellen:
Wie kann ich den Inhalt der ListBox in einer Textdateien "adden", also hinzufügen, den vorherigen Inhalt nicht ersetzen sonder wie gesagt nur hinzufügen.
Danke
Tappan
-
Da ich die Extrafeatures des BCB nicht kenne, kann ich nur generelle Tips geben:
Die Listbox hat einen LB_TAB (oder so ähnlich) Stil, dieser erlaubt es, dass Textzeilen einen Tab-Character enthalten dürfen. Mit einer weiteren Funktion kann man eine Anzahl von Tabs und die Breiten der Spalten angeben. Danach werden \t (Tab-Zeichen) als Spaltentrennzeichen interpretiert. Macht begrenzt Sinn, da es auch die ListControl gibt, die die wesentlich einfachere Report-Ansicht bietet (die hat auch die üblichen Header über den Spalten).
Zum "Dazuaddieren", oder auch "append" wie der englischsprachige Programmierer sagt: Beim Dateiöffnen müsste man auch ein Flag angeben können, dass an die Datei angehängt (appended) werden soll. Wenn es über die Standard-C-Library gemacht werden soll, reicht ein zusätzliches "a" in den fopen-Parametern:
FILE* fileHandle = fopen( "hurz.txt", "ba" );
ba wie B inary A ppend
-
Danke schon mal für den Anfang, aber wie wär es denn mit einem konkretem Beispiel.
Und zu 2.hast du meine Frage denke ich falsch verstanden. Ich meinte das nämlich so: wie man z.B. den Inhalt einer ListBox in eine Datei speichert, ohne das, was schon in der Datei gespeichert ist, z.B. vom vorherigen Mal, zu löschen.
Tappan
-
Hallo,
mit dem Tab das hab ich auf die schnelle mit dem \t nicht hinbekommen das wird nicht übersetzt in einen richtigen Tab.
So kann man es machen, sieht zwar umständlich aus, würde aber gehn denke ich...
das auch mit den anderen strings aus dem Edit-FensternCode :1 2 3 4 5 6 7 8 9
string s = Edit1->Text.c_str(); int i = s.length(); if(i < 20) { for(i ; i < 20 ; i++) { s+= " "; // wenn string zu kurz dann mit Leerzeichen auffüllen } }
PS: habs nicht getestet, war dann doch etwas spätCode :1 2
ListBox1->Items->Add(s + s2 + s3); // durch die aufgefüllten leerzeichen müsste das immer untereinanderstehn mit Abstand dazwischen // s2 und s3 steht jeweils für den text aus den anderen Edit-Feldern

Hier der Hinweiß zum problem des speicherns und in Datei anfügen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include <fstream> ListBox1->Items->Add("Wert"); // sporatisches einfügen ;-) AnsiString as = ListBox1->Items->operator [](0); // die 0 ist die Stelle der ListBox und gibt den Ansistring zurück der an dieser Stelle stand // die stelle kannst du mit einer forschleife durchgehn um den ganzen Inhalt der ListBox zu speichern string s = as.c_str(); // umwandeln von AnsiString in string zum besseren speichern ofstream write; write.open("deine Datei", ios::out | ios::app); //ios::app bewirkt ein hinten in datei anfügen ohne überschreiben des vorhandenen Inhalts if(write.good()) { write << endl; // das muss nur wenn in der datei noch ein Zeilenumbruch rein soll write << s; } write.close();
So in etwa müsste das gehn
Für etwaige Fehler übernehm ich keine Verantwortung
MfG Turri
Ähnliche Themen
-
listbox
Von Schiffscomputer im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 22.11.06, 18:40 -
ListBox
Von TheLuCKer im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 20.11.04, 18:42 -
xml in listbox?
Von MeikeBehrens im Forum .NET ArchivAntworten: 5Letzter Beitrag: 15.09.04, 11:36 -
Listbox.
Von Yugi-Radiodome im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 21.07.04, 15:24 -
listbox
Von zorc68 im Forum Flash PlattformAntworten: 2Letzter Beitrag: 19.08.02, 23:16





Zitieren
Login






