teilstrings kopieren,wurzel ziehen und arrays <- gelöst

Für Fragen von Einsteigern und Programmieranfängern...
Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren

Beitrag von Stephanie H. »

Hab ich...
jetzt zeigt er das hier an:
project.lpr(46,17) Warning: Variable "X" does not seem to be initialized
project.lpr(47,17) Warning: Variable "Y" does not seem to be initialized

und das hier ist nochmal der quellcode:
X:= StrToInt(Copy(name,1, Pos(' ', name)));
Y:= StrToInt(Copy(name,Pos(' ', name),Length(name)));

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: teilstring kopieren

Beitrag von theo »

Eine Warnung ist eine Warnung und kein Fehler. Wo ist dein Problem?

elektrischeliebe
Beiträge: 7
Registriert: Mi 28. Apr 2010, 08:40

Re: teilstring kopieren

Beitrag von elektrischeliebe »

Ich kann die Fehler und Warnungen nicht nach voll ziehen.

Habe spaßes halber mal ein neues Projekt erstellt und das ganze ausprobiert.
Bei mir kommen weder Fehler noch Meldungen und es sind von Anfang an alle
Units eingebunden die man braucht.

Code: Alles auswählen

var x,y: integer;
    s: string;
begin
   s := '1234 4567';
 
   x := StrToInt(Copy(s,1,Pos(' ',s)-1));
   y := StrToInt(Copy(s,Pos(' ',s),length(s)));
 
   ShowMessage(IntToStr(x) + '+' + IntToStr(y) + '=' + IntToStr(x+y));
Also das funktioniert bei mir einwandfrei.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: teilstring kopieren

Beitrag von pluto »

Zu deiner Frage: Du musst die Unit "SysUtils" einbinden, damit StrToInt verfügbar ist.
Eigentlich ist das doch per Standard gegeben. Ich bin davon ausgegangen dass sie Unit1 bzw. in From1 es verwendet.

Das mit dem Titel habe ich auch schon gesagt und auch Vorschläge gemacht: Du kannst ganz einfach, deinen Beitrag Editieren, Rechte Seite...

Edit01:
project.lpr(46,17) Warning: Variable "X" does not seem to be initialized
project.lpr(47,17) Warning: Variable "Y" does not seem to be initialized
Du solltest x und y vorher belegen, musst du aber in deinem Fall nicht unbedingt. Belegt sie einfach mit 0 also : x:=0; y:=0;. Dann gibt es auch keine Warnung.
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren

Beitrag von Stephanie H. »

nein ist schon ok...
ich benutz kein form und unit und so
wollte ich am anfang benutzen hab es aber dann doch gelassen !D

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: teilstring kopieren <- GELÖST !D

Beitrag von pluto »

Was nutzt du dann ? Eine Unit muss du mind. nutzen. Direkt die LPR bzw. DPR ?
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D

Beitrag von Stephanie H. »

ja dieses ganz normale
diese .lpr und .lpi ....

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: teilstring kopieren <- GELÖST !D

Beitrag von pluto »

Ach, dann ist es ein Consolen Projekt ?
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D

Beitrag von Stephanie H. »

joa keine ahnung... kann schon sein

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: teilstring kopieren <- GELÖST !D

Beitrag von pluto »

joa keine ahnung... kann schon sein
Solltest du nicht wissen, was du machst ? *G*
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D

Beitrag von Stephanie H. »

ach...
ich mach Delphi :D

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D

Beitrag von Stephanie H. »

Also ich hab da wieder ein Problem...
mit den Kopieren von Teilstrings
also wenn ich das Programm starte dann zeigt er immer das hier an:
An unhandled exception occured at $004188E2:
EConvertError : "" is an invalid integer
$004188E2
$00401696 main, line 62 of project.lpr

Das ist irgenwie voll komisch und dann schließt es sich immer total schnell...

Ach ja hier ist mein Quellcode:
X:= StrToInt(Copy(name,1, Pos(' ', name)));
Y:= StrToInt(Copy(name,Pos(' ', name),Length(name)));

irgenwie ist das voll komisch :(

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: teilstring kopieren <- GELÖST !D <- DOCH NICHT :(

Beitrag von pluto »

Code: Alles auswählen

X:= StrToInt(Copy(name,1, Pos(' ', name)));
Y:= StrToInt(Copy(name,Pos(' ', name),Length(name)));
 
irgenwie ist das voll komisch :(
Nun ja, so komisch auch wieder nicht. Die Fehler Meldung sagt: Das der Rückgabe Wert von Copy keine Zahl ist. Mach mal hinter dem ersten Pos bei X ein -1 dahinter und in der zweiten Zeile ein +1.
Also so:

Code: Alles auswählen

X:= StrToInt(Copy(name,1, Pos(' ', name)-1));
Y:= StrToInt(Copy(name,Pos(' ', name)+1,Length(name)));
nun sollte es Funktionieren. Der Grund für die Fehler Meldung ist: Pos gibt die Position zurück, wo es das Leerzeichen gefunden hat, also mit dem Leerzeichen und "1111 " ist keine Zahl, sondern eine Zeichenkette(String)
MFG
Michael Springwald

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D <- DOCH NICHT :(

Beitrag von Stephanie H. »

also darauf wäre ich nie gekommen... woher weiß du das denn?

ich hab das mal ausprobiert nur jetzt zeigt er das hier an, wenn ich variable x in eine array-tabelle speichern will... :

An unhandled exception occurred at $004016D4 :
EAccessViolation : Access Violation
$004016D4 main, line 63 of project.lpr

Stephanie H.
Beiträge: 91
Registriert: Sa 6. Feb 2010, 15:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: teilstring kopieren <- GELÖST !D <- DOCH NICHT :(

Beitrag von Stephanie H. »

also so sieht jetzt mein quellcode aus:

Code: Alles auswählen

X:= StrToInt(Copy(name,1, Pos(' ',name)-1));
             writeln(X);
             XKoordinate[i]:=X;
             Y:= StrToInt(Copy(name,Pos(' ', name)+1,Length(name)));
             YKoordinate[i]:=Y;
und jetzt zeigt er das hier an:

An unhandled exception occurred at $00401909 :
EAccessViolation : Acces violation
$00401909 main, line 83 of project.lpr

also zeile 83 ist die Zeile: XKoordinate:=X;

Antworten