String = Procedure(argument) funktioniert nicht
String = Procedure(argument) funktioniert nicht
Hallo,
wer hat eine Erklärung für folgendes "Phänomen":
--Beispiel 1-----------------------------
string.s = MeineProcedure( string2.s)
string.s bleibt leer
---Beispiel 2------------------------
MeineProcedure(string2.s)
string.s = result.s
string.s hat den korrekten Inhalt
-----------------------------------------------
Procedure.s Meine Procedure(string2.s)
...
result = anderer string
ProcedureReturn result$
-----------------------------------------------
Das Problem ist zutage getreten, als ich die Procedure innerhalb eines Threads aufgerufen habe.Deshalb habe ich geschlußfolgert, das dies bei Aufruf außerhalb eines Threads funktionieren würde.Jetzt hab ich mir meinen Code nochmal angesehen und festgestellt, das ich es außerhalb des Threads auch nicht anders mache.
result.s ist global, deshalb kann ich darauf auch von außerhalb zugreifen.Macht PureBasic einen Unterschied zwischen result.s und result$ ...? Das wäre ja ne mögliche Erklärung..?
Grüße
TWELVE
wer hat eine Erklärung für folgendes "Phänomen":
--Beispiel 1-----------------------------
string.s = MeineProcedure( string2.s)
string.s bleibt leer
---Beispiel 2------------------------
MeineProcedure(string2.s)
string.s = result.s
string.s hat den korrekten Inhalt
-----------------------------------------------
Procedure.s Meine Procedure(string2.s)
...
result = anderer string
ProcedureReturn result$
-----------------------------------------------
Das Problem ist zutage getreten, als ich die Procedure innerhalb eines Threads aufgerufen habe.Deshalb habe ich geschlußfolgert, das dies bei Aufruf außerhalb eines Threads funktionieren würde.Jetzt hab ich mir meinen Code nochmal angesehen und festgestellt, das ich es außerhalb des Threads auch nicht anders mache.
result.s ist global, deshalb kann ich darauf auch von außerhalb zugreifen.Macht PureBasic einen Unterschied zwischen result.s und result$ ...? Das wäre ja ne mögliche Erklärung..?
Grüße
TWELVE
Zuletzt geändert von TWELVE am 02.03.2008 13:16, insgesamt 1-mal geändert.
Re: String = Procedure(argument) funktioniert nicht
Jup, sind 2 VariablenTWELVE hat geschrieben: Macht PureBasic einen Unterschied zwischen result.s und result$ ...? Das wäre ja ne mögliche Erklärung..?
Re: String = Procedure(argument) funktioniert nicht
Lies dir dazu bitte die Seite "Variablen, Typen und Operatoren" in der Hilfe durch, da steht genau das (und noch viel mehr).edel hat geschrieben:Jup, sind 2 VariablenTWELVE hat geschrieben: Macht PureBasic einen Unterschied zwischen result.s und result$ ...? Das wäre ja ne mögliche Erklärung..?
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Jup, sind 2 Variablen
Schon gut..Lies dir dazu bitte die Seite "Variablen, Typen und Operatoren" in der Hilfe durch, da steht genau das (und noch viel mehr).

Wozu soll das eigentlich gut sein, zwischen $ und .s zu unterscheiden...?
Grüße
TWELVE
$ ist ein eigener "Buchstabe" der zur Variable gehört das .s ist ein Typ.
Genauso wir : #LF = 10 ergibt und #LF$ mit das Zeichen ausgibt
Genauso wir : #LF = 10 ergibt und #LF$ mit das Zeichen ausgibt
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Naja in ganz alten BASIC-Varianten war das halt so, da war a eine Zahl und a$ ein String. Ich fand's irgendwie cool und benutze es heute noch. In QBasic wurde das noch erweitert, a% war dann glaub ein int usw, aber das war mir dann auch zu umständlich 
Aber wie gesagt, das $-Zeichen gefällt mir irgendwie besser als .s, drum benutz ich das in PureBasic auch noch heute
EDIT: Und ich spreche es als "s" aus
a$ war bei mir nie "a-Dollar", sondern immer "ah eß"
und name$ ist bei mir "nameß" und nicht "name-Dollar"
würde mal gern wissen bei wem das genauso ist

Aber wie gesagt, das $-Zeichen gefällt mir irgendwie besser als .s, drum benutz ich das in PureBasic auch noch heute

EDIT: Und ich spreche es als "s" aus





ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Also ich führe keine selbstgespräche beim programmieren ^^ aber wenn ich laut denke dann sage ich nicht "nameß" sonder bei mir kommt sobalt ich das $ sehen das wort String in den Kopf, sodass ich dieses Zeichen auch String nenne. "Text$" würde dann ausgesprpchen "Textstring" heißen manchmal aber auch Bei "Wert$" wirds zu "Stringwert"ZeHa hat geschrieben:EDIT: Und ich spreche es als "s" ausa$ war bei mir nie "a-Dollar", sondern immer "ah eß"
und name$ ist bei mir "nameß" und nicht "name-Dollar"
würde mal gern wissen bei wem das genauso ist
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Ich manchmal schon.STARGÅTE hat geschrieben:Also ich führe keine selbstgespräche beim programmierenZeHa hat geschrieben:EDIT: Und ich spreche es als "s" ausa$ war bei mir nie "a-Dollar", sondern immer "ah eß"
und name$ ist bei mir "nameß" und nicht "name-Dollar"
würde mal gern wissen bei wem das genauso ist
Und ich spreche immer alles so aus, wie es da steht...

name.s => name eß
anzahl.l => anzahl el
text$ => text dollar (in Perl steht das $ ja immer vorn, dann nenne ich es "dollar text")
Strukturierte Variablen lese ich immer in der Form Variablenname+Feldname:
Code: Alles auswählen
info.POINT ; gelesen: info point
info\x=5 ; gelesen: info x gleich fünf
info\y+1 ; gelesen: info y plus 1

Übrigens benutze ich meistens .s anstelle von $, weil ich .s nur bei der Definition einer Variablen brauche; das $ hingegen ist permanenter Bestandteil des Variablennamens und würde mir jedes Mal einen zusätzlichen Tastendruck abringen (ohhh, ich armer....)

Code: Alles auswählen
a.s
a
a
a$
a$
a$
Vorteile:
-Verkürzung des Codes => Übersichtlichkeit & Dateigröße
-Verlängerung der Lebensdauer der Tastatur, insbesondere der Taste '4'
- Weniger Tipparbeit => Coden ist nicht mehr sooo anstrengend
-Zeiteinsparung beim Aufrufen/Tippen der Variable 'a'

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Ich auch ... ich lese aber den Punkt bei Variablendekleration mit ... nurAND51 hat geschrieben:Und ich spreche immer alles so aus, wie es da steht...![]()
name.s => name eß
anzahl.l => anzahl el
text$ => text dollar (in Perl steht das $ ja immer vorn, dann nenne ich es "dollar text")
Strukturierte Variablen lese ich immer in der Form Variablenname+Feldname:Merhfach strukturiete Variablen hatte ich noch nie, kann mir aber denken, sie nach dem gleichen Muster zu "lesen"...Code: Alles auswählen
info.POINT ; gelesen: info point info\x=5 ; gelesen: info x gleich fünf info\y+1 ; gelesen: info y plus 1
den Backslash ("") lese ich nicht mit. $-Zeichen wird natürlich auch mit
gelesen.
$ hab ich auch zu anfang viel verwendet ... kam ja frisch von QBasic

Aber inzwischen immer weniger, bzw. vorallem dann, wenn ich für etwas
eine Zahlenvariable und eine Stringvariable brauche, dann nutze ich
Code: Alles auswählen
Zehn.l = 10
Zehn$ = "10"
... ansonnsten hab ichs mir aber eigentlich inzwischen abgewöhnt

MFG PMV