Var

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
gast007
Beiträge: 2
Registriert: Mi 22. Aug 2012, 18:37

Var

Beitrag von gast007 »

Hallo,

ich bin anfänger in lazarus und habe wenig erfahrung, deshalb habe ich eine Frage, und zwar kann mir jemand erklären warum ich variablen z.Beispiel str in int umwandeln muss oder in byte etc.

Ich weiß, dass es irgendwas mit dem Arbeitsspeicher zu tun hat, aber ich versteh nicht warum unsere Lehrerin manchmal die Funktion strtoint beutzt hat. :?: :?:

Mit freundlichen Grüßen

gast007

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Var

Beitrag von creed steiger »

http://en.wikipedia.org/wiki/Type_safety" onclick="window.open(this.href);return false;

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Var

Beitrag von Socke »

Ersteinmal heiße ich dich hier im Forum herzlich Willkommen!

Nun zu deiner Frage:

Wie du richtig erkannt hast, werden die ganzen Variablen in deinem Programm (genau wie das gesamte Programm an sich) im Arbeitsspeicher abgelegt. Der Arbeitsspeicher besteht aus einzelnen Bytes, in denen Zahlen gespeichert werden können und auf die der Prozessor zugreifen kann. Wie diese Zahlen interpretiert werden sollen -- also welchen Sinn sie haben -- ist von vornherein nicht festgelegt. Das könnte Programmcode sein, der vom Prozessor direkt ausgeführt werden kann, weil er die Bedeutung der Zahlen kennt. Das könnte zum Beispiel der Befehl "Addiere 5 und 3" sein. Für das "Addiere" gibt es also einen entsprechenden Zahlencode. Wie die Zahlen 3 und 5 im Speicher abgelegt werden müssen, ist auch festgelegt.

Gleiches gilt auch für Zeichenketten (mehrere Zeichen hintereinander; engl. String). Dabei unterscheiden sich Zeichenketten und Zahlen voneinander. So steht die Zeichenkette "12" für die Zahl Zwölf -- sie ist es aber nicht. Deshalb muss die Zeichenkette mit der Funktion StrToInt() konvertieren um die Zahl zu erhalten.

Das gilt auch ausnahmslos für alle anderen Programmiersprachen. Teilweise erledigen diese das aber auch ohne dein Zutun (also ohne dass du eine Funktion aufrufen musst).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

hausi
Beiträge: 132
Registriert: Mi 23. Sep 2009, 08:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Var

Beitrag von hausi »

Strtoint wird genommen weil auf der Eingabemaske die Felder string sind und wenn man nun eine Zahl in das Feld schreibt, dann ist das ein Alphanumerisches Zeichen, doch um damit rechnen zu können muss man diesen String in ein integer umwandeln und das macht man mit strtoint. Um nun einen Integer (Zahl) in einem String darzustellen zu können macht man dann genau das umgekehrte mit inttostr

Das sollte aber alles in Deinen Schulunterlagen erklärt sein.

Hausi

gast007
Beiträge: 2
Registriert: Mi 22. Aug 2012, 18:37

Re: Var

Beitrag von gast007 »

Hallo,

ich will mich noch ganz herzlich bei euch bedanken, da ich nun dieses Problem aus der Welt schaffen konnte :lol:

Mit frewundlichen Grüßen

gast007

Antworten