Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
|
Re: DRPQMAT-Datei bearbeiten (TXT-Datei auslesen)
23. Mär 2004, 14:25
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
If Not OpenDialog1.Execute Then Exit;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
If Not SaveDialog1.Execute Then Exit;
end;
function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
begin
//
end;
Procedure load_Grid(Grid: TStringGrid);
Var
X, Y, ActPos, PrevPos : Integer;
sl : TStrings;
Begin
//If Not OpenDialog1.Execute Then Exit;
sl := TStringList.Create;
Try
// Öffne Datei in StringList
//sl.LoadFromFile(OpenDialog1.FileName);
// laufe durch die sl
For Y := 0 To pred(sl.Count) Do
Begin
// Spalte 0
X := 0;
PrevPos := 1;
// suche das erste ","
ActPos := PosEx(',', Sl[Y], PrevPos);
// verlasse die Schleife wenn kein "," mehr gefunden wurde
While ActPos > 0 Do
Begin
// schreibe in die Zelle den Text zwischen dem vorherigen "," und dem gefundenen ","
Grid.Cells[X, Y] := Copy(sl[Y], PrevPos, (ActPos - PrevPos));
// Postion des letzten Kommas
PrevPos := succ(ActPos);
// suche das nächste ","
ActPos := PosEx(',', Sl[Y], PrevPos);
inc(X);
End;
// zum Schluss noch den Text ab dem zuletzt gefundenen Komma in die Zelle
Grid.Cells[X, Y] := Copy(sl[Y], PrevPos, Length(sl[Y]));
End;
Finally
// Freigeben der sl
FreeAndNil(SL);
End;
End;
Procedure save_Grid(Grid: TStringGrid);
Var
X, Y : Integer;
sl : TStrings;
TempStr : String;
Begin
//If Not SaveDialog1.Execute Then Exit;
sl := TStringList.Create;
Try
With Grid Do
For Y := 0 To pred(Grid.RowCount) Do
Begin
// Leeren des TempStr vor jeder Zeile
TempStr := '';
For X := 0 To pred(Grid.ColCount) Do
TempStr := TempStr + Trim(Cells[X, Y]) + ',';
// Hinzufügen von TempStr zur sl
// in der letzten Zeile muss das letzte Komma abgeschnitten werden
If Y = pred(Grid.RowCount) Then
sl.Add(Copy(TempStr, 1, Length(TempStr) - 1))
Else
sl.Add(TempStr);
End;
// Speichern der StringList
//sl.SaveToFile(SaveDialog1.FileName);
Finally
// Freigeben der sl
FreeAndNil(SL);
End;
End;
end.
Nun hab ich zwar keinen Fehler mehr, aber die Function ist ohne Function... Desweiteren musste ich die Load und Savefunctionen ausschalten. Irgendwie bekomme ich die Produce load/save_Grind nicht in mein Brain.
Kannst Du mir ein Bespiel posten?
CU
DRPEnc
|
|
Zitat
|