Autor |
Beitrag |
BudBundi666
      
Beiträge: 23
Win 95, Win 98, Win XP
D6 Pers
|
Verfasst: Di 07.12.04 20:47
Eine warscheinlich ganz dumme Frage.
Wenn ich einen string habe der z.B. heißt "Fritz mag Erna"
will ich das erste Wort in eine String packen, das zweite Wort in einen anderen und das dritte in noch einen anderen.
Mein Problem das die Länge der Worte sich ändern kann also müsste man vielleicht alles vom
Anfang bis 1.LEERZEICHEN,
von 1.LEERZEICHEN bis 2.LEERZEICHEN
und von 2.LEERZEICHEN bis Ende
lesen und einzel anderen Strings zuweisen.
Wie könnte ich das mache?
Von Anfang bis erstes wüsste ich, aber der Rest(???).
Das Programm soll ein Konsolenprogramm sein.
Jetzt schon danke.
Ich weiß einfach nicht mehr weiter.
Und die Boardsuche hat mir leider auch nicht weitergeholfen.
MfG,
BudBundi
|
|
highhatcompy
      
Beiträge: 190
Win2000,Win XP,Linux(SuSE9.2)
Delphi 5 Prof.
|
Verfasst: Di 07.12.04 21:08
Hallo,
es gibt (fast) keine dummen Fragen  , aber für deine gibts 'ne einfache Lösung schau mal nach copy und pos in deiner Hilfe oder suche die Worte mal hier im Forum!
Bis bald HHC
_________________ Bist Du ein Programmierer, so wirst Du gegen Computer, Hardwarehersteller und Anwender verlieren. (Quelle: Murphy's Computer-Gesetz)
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 07.12.04 21:13
highhatcompy hat folgendes geschrieben: | schau mal nach copy und pos |
Bzw. nach "PosEx", um ab einer bestimmten Position im String zu suchen. Damit kann man dann recht einfach die Leerzeichen nach dem Ersten finden.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
rolulo
Hält's aus hier
Beiträge: 15
Win XP
D7 Ent
|
Verfasst: Di 07.12.04 21:23
Titel: Teil eines Strings kopieren
Hallo,
Fragen sind dazu da diese zu erklären, jeder hat mal angefangen oder hat einen Hänger beim proggen.
Hab Dir mal ein Beispiel aus einem alten Prog. herausgesucht, bin mir sicher es hilft Dir weiter.
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:
| program teststring;
{$APPTYPE CONSOLE}
uses SysUtils;
const s = 'Max liebt Elli aber Elli liebt Chris'; var position : integer; ch, text : string;
begin position := 0; repeat text := ''; repeat position := position + 1; ch := copy(s,position,1); if ch <> '' then text := text + ch; until (ch = ' ') or (position = length(s)); writeln(text); until position = length(s); readln; end. |
Viel Spaß damit!!
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 07.12.04 22:13
Ich würde einfach EXPLODE nehmen.
|
|
Coder
      
Beiträge: 1383
Erhaltene Danke: 1
WinXP
D2005 PE
|
Verfasst: Di 07.12.04 22:32
Also, Ich kenn Chris nur als Mädchenname... 
|
|
beshig
      
Beiträge: 110
Erhaltene Danke: 1
WIN 2000, WIN XP, WIN 2003, Debian Linux
Delphi 7 Personal, Delphi 2005 Personal
|
Verfasst: Di 07.12.04 23:22
Ja, rolulo´s Antwort dürfte weiterhelfen. Probleme hat jeder am Anfang. Es ist nicht einfach, sich in sowas hineinzufitzen. Das ist immer mit Problemen verbunden. Nur sind mir persönlich User, die ihr Problem beschreiben, klar deklarieren, und auch selber schon Eigeninitiative zur Problemlösung aufweisen lieber, als solche die mal nicht weiterkommen, und einfach schreiben "Habe keine Ahnung, gebt mal nen Source her".
|
|
hibbert
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Di 07.12.04 23:28
und dann gibt es noch immer solche User, die das dann auch noch machen.... tztztz....
falls es wirklich nicht hilft (die Forensuche etc...), habe ich mal in kleines Beispiel...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure finde; var suche,text:string; ergebnis:array[1..6]of string; i,idx:integer; begin idx:=1; text:=edit1.Text; suche:=#32; while pos(suche,text) <> 0 do begin i:=pos(suche,text); ergebnis[idx]:=copy(text,1,i); delete(text,1,i); inc(idx); end; ergebnis[idx]:=text; end; |
aber nur benutzen, falls es nicht ander geht 
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|
rolulo
Hält's aus hier
Beiträge: 15
Win XP
D7 Ent
|
Verfasst: Mi 08.12.04 00:19
Hallo zusammen,
Coder hat folgendes geschrieben: | Also, Ich kenn Chris nur als Mädchenname...  |
Klar gibt es Chris auch als Männername, aber selbst wenn es nur ain Frauenname wäre wurde es am Quelltext nichts ändern.
hibbert hat folgendes geschrieben: | und dann gibt es noch immer solche User, die das dann auch noch machen.... tztztz....
|
Immer noch besser, als Leute die nur auf die Arbeit anderer Verweisen und Funktionen oder Prozeduren kopieren. Wie z.B. "Versuchs Doch mal mit ...."
Ein Anfänger benötigt unterstützung, evtl. auch mal mit Code-Stücken. Wenn jemand wirklich programmieren lernen will, werden sich die Leute auch in den Quelltext einarbeiten und die Funktion dessen erkennen.
Ciao 
_________________ Gott beware uns vor dem DAU (Dümmster anzunehmender User)
|
|
BudBundi666 
      
Beiträge: 23
Win 95, Win 98, Win XP
D6 Pers
|
Verfasst: Mi 08.12.04 11:48
Danke an alle mit eurer Hilfe konnte ich das jetzt lösen.
Luckie hat folgendes geschrieben: | Ich würde einfach EXPLODE nehmen. |
Gibts bei Borland Delphi 6 Pers leider nicht aber die Beiträge haben mir auch geholfen.
Ich hatte ja schon Zuhause genug in der Hilfe gelesen und auch im Board gesucht aber leiden nichts gefunden.
Hatte wohl die falschen Suchwörter.
Ich habe jetzt eine Lösung genommen bei der in eine Kopie des String gelesen, kopiert und gelöscht wird.
Nochmal danke an Alle.
MfG,
BudBundi
|
|