Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#26

Re: StringGrid mit Daten füllen und farblich Darstellen

  Alt 11. Feb 2009, 19:39
Zitat von Jens Hartmann:
In der Projektverwaltung ist die jetzt seltsamerweise so eingetragen
Hast du davon vielleicht mal einen Screenshot, ich weiß nicht wie du das meinst.
Meinst du das so als Unterordner?

Zitat von Jens Hartmann:
Kann ich es irgendwie realisiern, das immer nur das gelesen wird, was wirklich von der Schnittstelle kommt und wenn wie bekomme ich das dann Parsen frei.
Ich habe das absichtlich so gemacht, dass Text und kein Dateiname zum Parsen übergeben wird. Der Text kann natürlich auch nur ein gerade übertragener Teil sein.

Du müsstest nur irgendwie sicherstellen, dass keine halben Einträge drin stehen, aber ansonsten kannst du auch einfach nur einen gerade empfangenen Text als String übergeben.

Zitat von Jens Hartmann:
Delphi-Quellcode:
        sl[i] := trim(StringReplace(sl[i], #$D, '', [rfReplaceAll]));
        sl[i] := StringReplace(sl[i], #129, 'ü', [rfReplaceAll]);
        sl[i] := trim(StringReplace(sl[i], #132, 'ä', [rfReplaceAll]));
...
Das kannst du dir sparen.
In meinem Quelltext gibt es u.a. die Funktion OemToAnsi, die (hoffe ich ) genau diese Umwandlung in einem Schritt macht. Die könntest du als class function deklarieren und dann einfach mit TMySimpleParser.OemToAnsi() aufrufen.

Zitat von Jens Hartmann:
Delphi-Quellcode:
          Parser := TMySimpleParserMB256plus.Create;
          DoParse(Parser, ExtractFilePath(ParamStr(0)) + '..\Daten\'+Jahr+'\'+Monat+'\'+Datum+'.txt');
          DisplayResult(Parser);
          Parser.Free;
Du musst den Parser nicht jedesmal neu erzeugen, wenn das jedesmal der selbe Parsertyp ist, dann kannst du den vor der Schleife erzeugen und danach wieder freigeben.
Die bisherigen Einträge werden in Parse ohnehin gelöscht:
Zitat:
SetLength(Entries, 0);
Zitat von Jens Hartmann:
Man kann an Hand der Datei erkennen, Das teilweise eine Zeile sehr lang ist, und zwar solang, das ich sie nicht in ein Feld von meinem Grid bekomme.

Wie kann ich in meinem Grid dem Feld dann sagen Zeilenumbruch ?
Das gibt es nicht vorgefertigt. In dem Screenshot wird aber auch kein StringGrid verwendet, es handelt sich dort um eine TListView bzw. eine TVirtualStringTree. Letztere wäre vermutlich am besten geeignet, ist aber auch etwas schwieriger zu benutzen.
http://www.delphi-treff.de/tutorials...rtualtreeview/
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat