AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Leerzeilen in Tstringlist

Ein Thema von gangs-taas · begonnen am 30. Jul 2009 · letzter Beitrag vom 30. Jul 2009
Antwort Antwort
Seite 2 von 3     12 3   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:04
Hallo,

oder wie es so schön heisst

DRY

Don't repeat yourself


Heiko
Heiko
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#12

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:19
oU man
ich bekomme das einfach nicht hin....

wieso geht das hier nicht ?
ich hab sogar extra noch einmal in den Crashkurs delphi geguckt und alles

aber es kommt nur mist raus


Delphi-Quellcode:
function TForm1.SpeicherHilfe(Var Memo: TMemo ; StringListe : TStringList): TStringList;
var
I : Integer ;
PrüfString : String;
begin
  For i := 0 to (Memo.Lines.Count-1) do
    begin
      Prüfstring := Memo1.Lines[i];
      if(Prüfstring = '') or (Prüfstring ='Serien Termine') then
        continue
      Else
        StringListe.Add(Memo.Lines[i]) ;
  end;
end;


procedure TForm1.SpeichernClick(Sender: TObject);
var
MoString, DiSTring, MiString, DoString, FrString, SaString, SoString :Tstringlist;
begin
  MoString := Tstringlist.Create;
  DiSTring := Tstringlist.Create;
  MiString := Tstringlist.Create;
  DoString := Tstringlist.Create;
  FrString := Tstringlist.Create;
  SaString := Tstringlist.Create;
  SoString := Tstringlist.Create;
  MoString.Add('Montag');
  DiString.Add('Dienstag');
  MiString.Add('Mittwoch');
  DoString.Add('Donnerstag');
  FrString.Add('Freitag');
  SaString.Add('Samstag');
  SoString.Add('Sonntag');
  MoString := SpeicherHilfe( Memo1, MoString);
  DiString := SpeicherHilfe( Memo2, DiString);
  MiString := SpeicherHilfe( Memo3, MiString);
  DoString := SpeicherHilfe( Memo4, DoString);
  FrString := SpeicherHilfe( Memo5, FrString);
  SaString := SpeicherHilfe( Memo6, SaString);
  SoString := SpeicherHilfe( Memo7, SoString);
  Zwischenspeicher.Text := MoString.Text;
  Zwischenspeicher.Add(trim(DiString.Text));
  Zwischenspeicher.Add(trim(MiString.Text));
  Zwischenspeicher.Add(trim(DoString.Text));
  Zwischenspeicher.Add(trim(FrString.Text));
  Zwischenspeicher.Add(trim(SaString.Text));
  Zwischenspeicher.Add(trim(SoString.Text));
  Zwischenspeicher.SaveToFile(Textdatei);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:23
Delphi-Quellcode:
  For i := 0 to Memo.Lines.Count-1 do
  begin
      Prüfstring := Memo1.Lines[i];
      if(Prüfstring <> '') and (Prüfstring <> 'Serien Termine') then
        StringListe.Add(Memo1.Lines[i]) ;
  end;
BTW. Das mit den Umlauten in Variablennamen ninmt er so?
Markus Kinzler
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#14

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:27
ja das mit dne umlauten nimmst er
aber ich kanns ändern wenn es euch stört...


wenn ich das alles so mach :
bekommt meine Textdatei den Text :
Sonntag
Sonntag
Sonntag
Sonntag
Sonntag
Sonntag
Sonntag



aber warum ?

Delphi-Quellcode:
function TForm1.SpeicherHilfe(Var Memo: TMemo ; StringListe : TStringList): TStringList;
var
I : Integer ;
Pruefstring : String;
begin
For i := 0 to Memo.Lines.Count-1 do
  begin
      Pruefstring := Memo1.Lines[i];
      if(Pruefstring <> '') and (Pruefstring <> 'Serien Termine') then
        StringListe.Add(Memo1.Lines[i]) ;
  end;
end;


procedure TForm1.SpeichernClick(Sender: TObject);
var
MoString, DiSTring, MiString, DoString, FrString, SaString, SoString :Tstringlist;
begin
  MoString := Tstringlist.Create;
  DiSTring := Tstringlist.Create;
  MiString := Tstringlist.Create;
  DoString := Tstringlist.Create;
  FrString := Tstringlist.Create;
  SaString := Tstringlist.Create;
  SoString := Tstringlist.Create;
  MoString.Add('Montag');
  DiString.Add('Dienstag');
  MiString.Add('Mittwoch');
  DoString.Add('Donnerstag');
  FrString.Add('Freitag');
  SaString.Add('Samstag');
  SoString.Add('Sonntag');
  MoString := SpeicherHilfe( Memo1, MoString);
  DiString := SpeicherHilfe( Memo2, DiString);
  MiString := SpeicherHilfe( Memo3, MiString);
  DoString := SpeicherHilfe( Memo4, DoString);
  FrString := SpeicherHilfe( Memo5, FrString);
  SaString := SpeicherHilfe( Memo6, SaString);
  SoString := SpeicherHilfe( Memo7, SoString);
  Zwischenspeicher.Text := MoString.Text;
  Zwischenspeicher.Add(trim(DiString.Text));
  Zwischenspeicher.Add(trim(MiString.Text));
  Zwischenspeicher.Add(trim(DoString.Text));
  Zwischenspeicher.Add(trim(FrString.Text));
  Zwischenspeicher.Add(trim(SaString.Text));
  Zwischenspeicher.Add(trim(SoString.Text));
  Zwischenspeicher.SaveToFile(Textdatei);
end;
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#15

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:36
Delphi-Quellcode:
function TForm1.SpeicherHilfe(Var Memo: TMemo ; StringListe : TStringList): TStringList;
var
I : Integer ;
Pruefstring : String;
begin
For i := 0 to Memo.Lines.Count-1 do
  begin
--> Fehler!!! muss Memo heißen --> Pruefstring := Memo1.Lines[i];
      if(Pruefstring <> '') and (Pruefstring <> 'Serien Termine') then
--> Fehler!!! muss Memo heißen --> StringListe.Add(Memo1.Lines[i]) ;
  end;
end;
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#16

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:42
aber selbst wenn ich das so mach wie du sagst bekomme ihc trotzdem in der endgültigen Textdatei nur
sonntag
sonntag
sonntag
ect.

hab das jetzt soo


Delphi-Quellcode:
function TForm1.SpeicherHilfe(Var Memo: TMemo ; StringListe : TStringList): TStringList;
var
I : Integer ;
Pruefstring : String;
begin
For i := 0 to Memo.Lines.Count-1 do
  begin
      Pruefstring := Memo.Lines[i];
      if(Pruefstring <> '') and (Pruefstring <> 'Serien Termine') then
        StringListe.Add(Memo.Lines[i]) ;
  end;
end;

Trotzdem nur sonntag ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:45
Ich hab mal was stumpf heruntergetippt, schau mal, ob das so funktioniert.
Delphi-Quellcode:
procedure TForm1.SpeichernClick(Sender: TObject);
var sResult :Tstringlist;
    

    procedure StripLines(const Titel: string; const sLines: TStrings);
    const sIgnore = 'Serien Termine'
    var i : integer;
    begin
      sResult.Add(Titel);
      for i := 0 to sLines.Count - 1 do
        if (sLines[i] <> '') and (sLines[i] <> sIgnore) then
          sResult.Add(sLines[i]);
    end;
    
begin
  sResult := TStringlist.Create;
  try
    StripLines('Montag', Memo1.Lines);
    StripLines('Dienstag', Memo2.Lines);
    StripLines('Mittwoch', Memo3.Lines);
    StripLines('Donnerstag', Memo4.Lines);
    StripLines('Freitag', Memo5.Lines);
    StripLines('Samstag', Memo6.Lines);
    StripLines('Sonntag', Memo7.Lines);
    sResult.SaveToFile(Textdatei);
  finally
    sResult.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#18

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:51
es klappt

ist gibt nur eins was mich stört

wenn ich irgendiwe


test123
Serien Termine
blub


eingebeen habe
sollte ja - so von der idee her - nur test123 gespeichert werden

er speichert aber

test123
blub



ps. ich wusste garnicht, dass man inerhalbt von Procedures weitere procedures anlegen kann
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:53
Dann hab ich das falsch verstanden. OK, dann müsste das so gehen:
Delphi-Quellcode:
procedure StripLines(const Titel: string; const sLines: TStrings);
    const sIgnore = 'Serien Termine'
    var i : integer;
    begin
      sResult.Add(Titel);
      for i := 0 to sLines.Count - 1 do
        if (sLines[i] <> '') and (sLines[i] <> sIgnore) then
          sResult.Add(sLines[i])
        else
          break;
    end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#20

Re: Leerzeilen in Tstringlist

  Alt 30. Jul 2009, 11:55
vielen dank


hehe doch mit break xD
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz