Datentypen?
Datentypen?
Moin,
habe folgende Frage :
Ich kann den Datentype *var nicht zuordnen. Was ist das ? Byte?
Gruß,
Beforegod
habe folgende Frage :
Ich kann den Datentype *var nicht zuordnen. Was ist das ? Byte?
Gruß,
Beforegod
Diese Welt ist krank und ich bin es auch...
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
hmm ne habe ich aus dem libmysql beispiel :
Gibt es einen Typ "byte" überhaupt in PureBasic?
Code: Alles auswählen
*mysqlrow = CallFunction(#libmysql, "mysql_fetch_row", *mysqlresult)
*mysqllen = CallFunction(#libmysql, "mysql_fetch_lengths", *mysqlresult)
Diese Welt ist krank und ich bin es auch...
ja gibt es.
siehe auch hier
http://www.purearea.net/pb/german/manua ... ables.html
hoffe das hilft
Gruß Nico
Code: Alles auswählen
variable.b
http://www.purearea.net/pb/german/manua ... ables.html
hoffe das hilft
Gruß Nico
-
- Beiträge: 100
- Registriert: 06.11.2004 11:23
- Computerausstattung: PB 5.30 (x64) Win7
- Wohnort: Österreich
*mysqlrow
mit "*" kennzeichnet man Pointer....
kenn zwar da jetzt deine Anwendung nicht aber mit "*mysqlresult"
übergibst du einen Pointer auf einen Speicherblock... der richtig gesetzt sein muss....
und mit "*mysqlrow" erhälst du dann einen Pointer auf dein Ergebnis ...
um an den Wert zu kommen kannst du zb. mit
PeekB(*mysqlrow)
PeekW(*mysqlrow)
PeekL(*mysqlrow)
die Speicher auslesen
Andi256
PS.
pointer sind vom Type "long"
mit "*" kennzeichnet man Pointer....
kenn zwar da jetzt deine Anwendung nicht aber mit "*mysqlresult"
übergibst du einen Pointer auf einen Speicherblock... der richtig gesetzt sein muss....
und mit "*mysqlrow" erhälst du dann einen Pointer auf dein Ergebnis ...
um an den Wert zu kommen kannst du zb. mit
PeekB(*mysqlrow)
PeekW(*mysqlrow)
PeekL(*mysqlrow)
die Speicher auslesen
Andi256
PS.
pointer sind vom Type "long"
Zuletzt geändert von andi256 am 28.09.2005 16:08, insgesamt 2-mal geändert.
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Das ist alles ziemlicher Unfug, der hier steht, bis auf die Links.
Wo gibt es denn noch dieses Pointer-Tutorial? Steht das nicht sogar in der
FAQ? Ich habe nämlich jetzt leider keine Zeit um das etwas ausführlicher
zu erklären. Aber da es schon öfter erklärt wurde, hilft die Suche im Board
ganz bestimmt.
Wozu bräuchte man denn Pointer, wenn sie das selbe wären wie Longs?
Noch ein kleiner Beispielcode, damit man sehen kann, was mit Pointern
möglich ist:
Wo gibt es denn noch dieses Pointer-Tutorial? Steht das nicht sogar in der
FAQ? Ich habe nämlich jetzt leider keine Zeit um das etwas ausführlicher
zu erklären. Aber da es schon öfter erklärt wurde, hilft die Suche im Board
ganz bestimmt.
Wozu bräuchte man denn Pointer, wenn sie das selbe wären wie Longs?
Noch ein kleiner Beispielcode, damit man sehen kann, was mit Pointern
möglich ist:
Code: Alles auswählen
Procedure ChangeString(*s.STRING)
*s\s = "Geänderter String"
EndProcedure
; 4 Bytes
a.l
; Pointer diesen Speicherbereich zuweisen
*string.STRING = @a
; String an der Stelle des Pointers schreiben
*string\s = "Das ist ein String"
; Ausgeben
Debug *string\s
; Ändern
ChangeString(*string) ;oder: ChangeString(@a)
; Wieder ausgeben
Debug *string\s
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
-
- Beiträge: 100
- Registriert: 06.11.2004 11:23
- Computerausstattung: PB 5.30 (x64) Win7
- Wohnort: Österreich
Das ist alles ziemlicher Unfug, der hier steht, bis auf die Links.
Tja ...
PS.
so find ichs schöner:
Andi256
Tja ...

ich hab ja nicht geschrieben das pointer das selbe sind wie longsWozu bräuchte man denn Pointer, wenn sie das selbe wären wie Longs?
dh. sie werden mit 4Byte im Speicher abgelegt (=Type "long")pointer sind vom Type "long"
Code: Alles auswählen
a.s="s"
*pointer = @a
Debug *pointer
Debug PeekL(@*pointer)
so find ichs schöner:
Code: Alles auswählen
Procedure ChangeString1(*s.string)
*s\s = "Geänderter String"
EndProcedure
b.string
b\s = "Das ist ein String"
*pointer = @b
Debug b\s
ChangeString1(*pointer)
;ChangeString1(@b)
Debug b\s