Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in einzelne Int zerteilen (https://www.delphipraxis.net/155429-string-einzelne-int-zerteilen.html)

DelphiMichi 22. Okt 2010 17:15

Delphi-Version: 5

String in einzelne Int zerteilen
 
Hallo ihr alle,
ich bin ziemlicher Anfänger in Delphi und hab ne Aufgabe, wo ich in keinem Forum bisher ne passende Lösung gefunden habe. Meckert nicht wenn es das schon irgendwo gibt, habe ich dann nicht verstanden...

Also ich habe ne TXT Datei die ich Zeilenweise in Delphi einlese (ReadLn). So dann hab ich halt sechs Strings für sechs Reihen, die dann so aussehen

1 2 3 4 5 6

3 4 2 13 13 4

3 2 14 2 6 7

usw..

Also immer sechs Zahlen (auch 2-stellig) mit Leerzeichen getrennt.

Die möchte ich jez in der Reihenfole in ein Array bringen. Also es soll die erste Zeile (1.String) Die ersten 6 Felder benutzen usw.

Dafür muss ich die einzelen Reihenstrings erst einmal in jeweils sechs INT umwandeln. Da fängt mein Problem schon an?????

Ich bin auch offen für andere Methoden wie z.B nicht jede Zeile einzeln sondern Read, obwohl ich da noch weniger Ahnung von habe...


Danke im Vorraus,
DelphiMichi

Namenloser 22. Okt 2010 17:18

AW: String in einzelne Int zerteilen
 
Das hat nicht zufällig was mit der 3. Aufgabe des BWINF zu tun, oder? :roll:
Die Aufgaben musst du schon selbst lösen, so wie jeder andere auch...

DelphiMichi 22. Okt 2010 17:26

AW: String in einzelne Int zerteilen
 
Zitat:

Zitat von NamenLozer (Beitrag 1057219)
Das hat nicht zufällig was mit der 3. Aufgabe des BWINF zu tun, oder? :roll:
Die Aufgaben musst du schon selbst lösen, so wie jeder andere auch...

Ah ja, okee ich wollt auch keine Lösung, sondern einen kleinen Tipp.

DelphiMichi 22. Okt 2010 17:42

AW: String in einzelne Int zerteilen
 
Naja ich will keinen Ärger machen.

CLOSED

DeddyH 22. Okt 2010 17:43

AW: String in einzelne Int zerteilen
 
Ein Tipp: zerlege das große Problem in kleinere Teilprobleme, die Du der Reihe nach löst (Stichwort: Prozeduren und Funktionen). Damit kommt Ordnung und Struktur in Dein Programm, und Du wirst die Aufgabe einfacher lösen können.

Matze 22. Okt 2010 17:45

AW: String in einzelne Int zerteilen
 
Solange du, wie im vorliegenden Fall, nur eine kleine Hilfestellung möchtest, ist die Frage meiner Meinung nach völlig in Ordnung.

Es gibt viele Ansätze. Einer wäre z.B. die Strings über ExplodeExplode in ein String-Array zu wandeln, das als Elemente die Zahlen (als String) enthält. Diese kannst du mit StrToInt() dann in ein Int-Array konvertieren lassen.
Natürlich geht das auch "zu Fuß": Leerzeichen suchen, Ziffern kopieren und konvertieren.

Hansa 22. Okt 2010 17:47

AW: String in einzelne Int zerteilen
 
Ich will ja nichts sagen. :mrgreen: Aber : Du hängst ziemlich weit vom Kenntnisstand hinten dran. So wird das nichts. Kleine Hilfe/Tip wäre Pos, Copy etc. Allgemein gesagt "String-Funktionen". Und natürlich F1. :lol:

Namenloser 22. Okt 2010 17:50

AW: String in einzelne Int zerteilen
 
Sorry, wollte dich jetzt nicht verschrecken - wenn du nur einen kleinen Denkanstoß suchst, ist das sicherlich okay. Ich bin vielleicht inzwischen etwas übersensibilisiert von Leuten, die gerne eine Komplettlösung haben wollen... [edit]Bzw. wollte ich verhindern, dass jemand hier eine Komplettlösung postet, weil derjenige nicht weiß, dass die Aufgabe vom BWINF ist. Würde nicht schaden, wenn du in Zukunft sowas im OP erwähnen würdest.[/edit]

Allerdings frage ich mich wie Hansa auch, wie du den Rest der Aufgabe schaffen willst, wenn du schon beim Parsen scheiterst.

Dennoch ein Tipp: Du kannst TStringList verwenden, um Texte aufzusplitten:
Delphi-Quellcode:
SL := TStringlist.Create;
SL.Delimiter := ' ';
SL.DelimitedText := '1 2 3 4';
Die einzelnen Zahlen stehen danach als Strings in SL[0] bis SL[3]. Wie du Strings in Integer umwandelst, solltest du wissen, falls nicht hilft Google.

DelphiMichi 22. Okt 2010 17:54

AW: String in einzelne Int zerteilen
 
Zitat:

Zitat von NamenLozer (Beitrag 1057241)
Sorry, wollte dich jetzt nicht verschrecken - wenn du nur einen kleinen Denkanstoß suchst, ist das sicherlich okay. Ich bin vielleicht inzwischen etwas übersensibilisiert von Leuten, die gerne eine Komplettlösung haben wollen...

Allerdings frage ich mich wie Hansa auch, wie du den Rest der Aufgabe schaffen willst, wenn du schon beim Parsen scheiterst.

Dennoch ein Tipp: Du kannst TStringList verwenden, um Texte aufzusplitten:
Delphi-Quellcode:
SL := TStringlist.Create;
SL.Delimiter := ' ';
SL.DelimitedText := '1 2 3 4';
Die einzelnen Zahlen stehen danach als Strings in SL[0] bis SL[3]. Wie du Strings in Integer umwandelst, solltest du wissen, falls nicht hilft Google.


Okee, ja ich weiß , gewinnen tue ich glaub ich nicht mehr :-) HEHE...

Danke für die vielen Antworten und ich hoffe es nimmt mir niemand übel. Ich will ja nicht mogeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 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