Autor Beitrag
tfo
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 10.05.06 16:02 
Hallo,

folgendes habe ein Programm geschrieben das eine .pas-datei ausliest und

dann in einer Listbox den Quellcode anzeigt.Funktioniert auch man kann den Text

auch wieder in eine andere speichern! Nun zu meinen Anliegen: Wollte das beim

auslesen der Datei die leeren Reihen nicht in der Listbox mit reingeschrieben werden!

Als Beispiel:
in der Datei steht es nun so drin
_________________________________________________________
Form1: TForm1;

F: TextFile;
_________________________________________________________

so wird es dann auch in der Listbox angezeigt!
Wollte es nun aber so haben

Form1: TForm1;
F: TextFile;


Hatte mir überlegt das man halt die Variable nach leeren Zeilen durchsuchen
muss und dann diese durch "nichts" ersetzen. Naja oder so ähnlich!
Hat jemand eine Idee wie ich das umsetzen kann?

Danke schon mal für eure Hilfe!


MFG TFO



Hier mein Quellcode!
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Edit1: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ListBox1: TListBox;
    Button1: TButton;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

  F: TextFile;
  zaehle:integer;
  S: string;

implementation

{$R *.DFM}

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin
  AssignFile(F, 'unit1.pas');
    Reset(F);
    zaehle:= 0;
    while not EOF(F) do
    begin
    zaehle:= zaehle + 1;
    Readln(F, S);

    Listbox1.items.add(S);
    end;
    edit1.Text:= inttostr(zaehle);
  CloseFile(F);
end;


procedure TForm1.Button1Click(Sender: TObject);

begin
  Listbox1.items.SaveToFile('unit1.bak');  
end;                  


end.
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Mi 10.05.06 16:06 
versuchs mal sowas:

ausblenden Delphi-Quelltext
1:
2:
  while Pos(#13#10#13#10, DeinString) > 0 do
    StringReplace(DeinString, #13#10#13#10#13#10, [rfReplaceAll]);



greetz

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
tfo Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 10.05.06 16:09 
Danke für die schnelle Antwort!!!

Könntest du mir kürz erklären was es mit den

#13#10#13#10

auf sich hat!

Kann gerade nichts damit anfangen!
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Mi 10.05.06 16:11 
also #13#10 ist immer ein Zeilenumbruch. Und du tauscht so lange Doppelte zeilenumbrüche aus (#13#10#13#10) bis es keine mehr gibt ;)

greetz

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
tfo Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 10.05.06 16:16 
AH langsam geht mir wieder ein Licht auf!

Hatte mal vor langer zeit damit gearbeitet.....

damals hatte ich es für die MessageBox benutzt usw. damit ich mehr Text

reinschreiben konnte natürlich untereinander!Da hatte ich das auch

mit #13#10 gemacht!!!

Danke wäre so nicht drauf gekommen!

Schönen Tag noch