AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zeile zerlegen und teile in Variablen einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeile zerlegen und teile in Variablen einfügen

Ein Thema von Äfan · begonnen am 1. Mai 2005 · letzter Beitrag vom 1. Mai 2005
Antwort Antwort
Äfan
(Gast)

n/a Beiträge
 
#1

Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 01:44
Hi,

jetzt häufen sich meine fragen wieder habe letzter zeit wenig mit delphi gemacht, aber jetzt gehts wieder los, mit den fragen:

Ich habe folgenden Text in Variable "Line":

ShowMessage ('haha', OK, Information)

Ich will, dass beim klick auf den button, der text zerlegt wird bzw. die informationen gewonnen werden und in die jeweiligen variablen eingefügt werden. In variable "Text" soll das "haha" rein kommen, in Typ soll "OK" und in Icon soll "Information" rein kommen, wie stell ich das jetzt am besten an ? Ich habe es mit hilfe von Ultimator schon so hinbekommen, aber es funktioniert nicht richtig. Bitte um Hilfe !?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Line: string;
  poskommaeins: integer;
  text: string;
  poskommazwei: integer;
  typ: string;
  icon: string;
begin
  line := Memo1.Lines.Strings[0];
  poskommaeins := pos(',' , line);
  Text := copy(line, pos('(', line), pos(',', line));
  delete(line, 0, posKommaEins);
  Typ := copy(line, 0, posKommaZwei);
  Icon := copy(line, posKommaZwei, pos(')',line));
  Edit1.Text := 'Text: ' + Text + 'Typ: ' + typ + 'Icon: ' + icon
  end;
mfg
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 11:10
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Line: string;
  poskommaeins: integer;
  text: string;
  poskommazwei: integer;
  typ: string;
  icon: string;
begin
  line := Memo1.Lines.Strings[0];
  poskommaeins := pos(',' , line);
  Text := copy(line, pos('(', line)+1, posKommaEins - pos('(', line));
  posKommaZwei:= posEx(',', line, posKommaEins) +1;
  Typ := copy(line, posKommaeins+1, length(line)-posKommaZwei);
  Icon := copy(line, posKommaZwei, pos(')',line));
  Edit1.Text := 'Text: ' + Text + 'Typ: ' + typ + 'Icon: ' + icon
end;
Hab nochmal nachgedacht, und das ist dabei rausgekommen. Probiers aus obs klappt, hab grad kein Delphi zur Hand
Julian J. Pracht
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#3

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 13:46
Ne, noch net ganz, kommt aber der sache schon näher:

Text: 'haha',
Typ: OK, Information
Icon: OK, Information)

Edit:
Also ich habe bei Text := am ende noch -1 gemacht, also das komma ist somit weg. Also das bei bei Text funktioniert schon. Jetzt is nur noch das Problem mit Typ und Icon
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 13:56
Delphi-Quellcode:
Typ := copy(line, posKommaeins+1, posKommaZwei - posKommaEins - 2);
  Icon := copy(line, posKommaZwei, pos(')', line) - posKommaZwei - 1);
Aus dem Kopf, bei "- 1" und "- 2" bin ich mir nicht so sicher.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#5

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 14:06
Ne, da kommt des raus:

Text: haha
Typ:
Icon: OK, Informatio

Also ich bekomme das auch durch änderungen net hin...
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#6

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 14:15
Das müsste funktionieren:
Delphi-Quellcode:
line := edit1.Text;
delete(line,1,pos('''',line));
text.Text := copy(line,1,pos('''',line)-1);
delete(line,1,pos('''',line)+1);
typ.Text := trim(copy(line,1,pos(',',line)-1));
icon.Text := trim(copy(line,pos(',',line)+1,length(line)-pos(',',line)-2));
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#7

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 14:22
Jo, jetzt funktionierts. Nur am ende muss -1 anstatt -2 hinkommen.

thx
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#8

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 14:23
Vielleicht solltest du zuerst alle Leerzeichen entfernen, wenn sie nicht zwischen ' ' stehen.
Dann ist es leichter die Sachen zu trennen.
Das kannst du z.B. mit der Funktion:
Delphi-Quellcode:
function Leerzeichenloeschen(line:string):String;
var instring:Boolean;
    i:integer;
begin
  instring := false;
  result := line;
  for i := length(line) downto 1 do
  begin
    if (result[i] = ' ') and (not instring) then
      delete(result,i,1);
    if result [i] = '''then
      instring := not instring;
  end;
end;
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#9

Re: Zeile zerlegen und teile in Variablen einfügen

  Alt 1. Mai 2005, 14:30
Jo, ich muss jetzt erst mal da durch blicken durch die ganzen copy's und pos
  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 16:27 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