AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textinhalt aufsplitten

Ein Thema von EarthQuaker · begonnen am 15. Mär 2012 · letzter Beitrag vom 21. Mär 2012
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 10:59
Ohne Gewähr, da aus dem Kopf getippt:
Delphi-Quellcode:
procedure VerteileStrings(Quelle, Ziel1, Ziel2: TStrings);
var
  List: TStringlist;
  i: integer;
begin
  Assert(Assigned(Quelle) and Assigned(Ziel1) and Assigned(Ziel2));
  Ziel1.BeginUpdate;
  try
    Ziel1.Clear;
    Ziel2.BeginUpdate;
    try
      Ziel2.Clear;
      List := TStringlist.Create;
      List.Delimiter := ';';
      try
        for i := 0 to Quelle.Count - 1 do
          begin
            List.DelimitedText := Quelle[i];
            if List.Count > 0 then
              Ziel1.Add(List[0]);
            if List.Count > 1 then
              Ziel2.Add(List[1]);
          end;
      finally
        List.Free;
      end;
    finally
      Ziel2.EndUpdate;
    end;
  finally
    Ziel1.EndUpdate;
  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
EarthQuaker

Registriert seit: 14. Apr 2007
Ort: Pirna
50 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 11:21
Danke dir DeddyH, muss ich nur schauen ob ich es anpassen kann irgendwie. derzeit klappts noch nicht. Das nach langem echt mal wieder eine herrausforderung

Weitere tips sind willkommen hier

MfG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 11:32
Wie rufst Du es denn auf? Eigentlich sollte es klappen (gut, ich bin auch nicht fehlerfrei, aber so auf Anhieb kann ich nicht erkennen, was da nicht funktionieren sollte).
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
EarthQuaker

Registriert seit: 14. Apr 2007
Ort: Pirna
50 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 11:38
Also ganz normal öffne ich eine Textdatei:

Code:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
DateiName: TFileName;
begin
if OpenDialog1.Execute then
begin
ListBox1.Clear;
DateiName := (OpenDialog1.Filename);
ListBox1.Items.LoadFromFile(DateiName);
end;
end;
und auf klick von der Listbox bei den einträgen fügt sich das ganze in die 2 und 3 listbox ein.

Code:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
for i := 0 to ListBox1.Items.Count -1 do
begin
if ListBox1.Selected[i] then
Edit1.Text := ListBox1.Items.Strings[i];

  ListBox2.Items.Strings[0] := Copy(Edit1.Text,1, (pos(';',Edit1.Text))-1);
  ListBox3.Items.Strings[0] := Copy(Edit1.Text,pos(';',Edit1.Text)+1,length(Edit1.Text));

end;
end;

Im endefekt soll es dich jedoch schon beim offnen der datei gleich auf die listbox2 und 3 verteilen, somit spare ich mir dann die listbox1.


MfG
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 12:52
Wenn Du statt des Semicolons = als Trenner verwendest könntest Du Dir einiges sparen mit
  ValueListEditor1.Strings.LoadFromFile('C:\temp\fff.txt');
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 13:05
Delphi-Quellcode:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
  DateiName: TFileName;
  List: TStringlist;
begin
  if OpenDialog1.Execute then
    begin
      List := TStringlist.Create;
      try
        List.LoadFromFile(OpenDialog1.Filename);
        VerteileStrings(List, ListBox2.Items, ListBox3.Items);
      finally
        List.Free;
      end;
    end;
end;
Das sollte doch auch funktionieren, ohne die Struktur der Datei ändern zu müssen.
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
EarthQuaker

Registriert seit: 14. Apr 2007
Ort: Pirna
50 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Textinhalt aufsplitten

  Alt 16. Mär 2012, 13:16
@ Bummi:
Auch dir danke ich werde es mir auch mal mit anschauen. Aber die struktur wollte ich im moment erstmal beibehalten.


Danke DeddyH!

Klappt wunderbar, ... aber leider schneidet er alles nach einem Leerzeichen ab siehe Screenshot.


MfG
Angehängte Grafiken
Dateityp: png Unbenannt2.PNG (37,4 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz