hallo guten Abend, ich wollte ma fragen wie man im Bascon ein zeichen
ändert, man bekommt etwas mit einem Komma und man will den Komma in der
Programierung durch einen Punkt ersetzen.
Variable (3) = "."
Funktioniert das nicht irgendwie so???
Grüsse
Schmit Andreas schrieb:> hallo guten Abend, ich wollte ma fragen wie man im Bascon ein zeichen> ändert, man bekommt etwas mit einem Komma und man will den Komma in der> Programierung durch einen Punkt ersetzen.>> Variable (3) = "."> Funktioniert das nicht irgendwie so???
Probier mal
Variable(3) = '.'
Zwischen " und ' wird in vielen Programmiersprachen unterschieden.
' wird für 1 Zeichen benutzt
" wird für Zeichenketten (vulgo Strings) benutzt.
Einem einzelnen Zeichen eines Strings kann man aber logischerweise
keinen ganzen String zuweisen. Wohl aber ein neues einzelnes Zeichen.
Du kannst einen Sring in ein array 'mapen',
i weiss nicht wie ichs besser ausdruecken kann,
heist irgendwie mit overlay
schau mal in die Hilfe bei Dim glaub ich
viel erfolg
vlG
Charly
dim demostring as string * 20
dim string_item (20) as byte at demostring overlay
demostring = "hallo, du"
for x=1 to 20
if string_item(x) = "," then
string_item(x) = "."
endif
next
print demostring
> = CHR($2E)
Glaubste nicht es würde an den Klammern liegen wo die 3 drin steht, denn
er glaubt vielleicht das (Variable(3))wäre die ganze variable aber ich
will ja nur die dritte stelle der Variable ersetzen
grüsse
Schmit Andreas schrieb:> hallo guten Abend, ich wollte ma fragen wie man im Bascon ein zeichen> ändert, man bekommt etwas mit einem Komma und man will den Komma in der> Programierung durch einen Punkt ersetzen.
Hi,
dafür wurde in Version 1.12.0.0 der Befehl REPLACECHARS eingeführt.
Ich zitiere aus der Bascom-Hilfe:
Syntax: REPLACECHARS string , old,new
string: A string variable.
old: A character or byte with the ASCII value of the character to search
for.
new: A character of byte with the ASCII value with the new value.
When we have a string with a content of : "abcdefabc" and we want to
replace the "a" by an "A" we can use :
Replacechars string , "a" , "A"
@ screwdriver
Dafür warst du sorgfältiger, weil du die Versionsnummer hast und den
Hilfetext.
@ Fhutdhb Ufzjjuz
Giftige Sache, da könnte sogar mir Bascom Spaß machen! Mit
Totenkopfbildchen und Warnung "Take care with the OVERLAY option. Use it
only when you understand it." im Handbuch :-)
Stefan B. schrieb:> @ Fhutdhb Ufzjjuz>> Giftige Sache, da könnte sogar mir Bascom Spaß machen! Mit> Totenkopfbildchen und Warnung "Take care with the OVERLAY option. Use it> only when you understand it." im Handbuch :-)
hä ???? :o)
Das ist die richtige Verwendung von Overlay ... zumindest mach ich's
nicht selten so ;o)
Manche Sachen sind in Bascom echt easy zu proggen ...
Ich selbst habe die REPLACECHARS Funktion noch nicht benutzt und hätte
sie - wenn ich nicht ab und zu mal die "history.txt" im Bascom
Verzeichnis durchlesen würde - glatt übersehen.
REPLACECHARS ist übrigens sauschnell. Im Vergleich zur von Weinbauer
vorgestellten Selfmade-Lösung ergibt sich:
1
dim demostring as string * 20
2
dim string_item (20) as byte at demostring overlay
3
Dim X As Byte
4
5
demostring = "hallo, du"
6
for x=1 to 20
7
if string_item(x) = "," then
8
string_item(x) = "."
9
endif
10
next
11
Print Demostring
12
13
demostring = "hallo, du"
14
Replacechars Demostring , "," , "."
15
Print Demostring
16
17
End
Weinbauer: 558 Zyklen
REPLACECHARS: 83 Zyklen
@Weinbauer: Gäbe es REPLACECHARS nicht, hätte ich es genau so gemacht.
screwdriver
Schmit Andreas schrieb:> dim string_item (20) as byte at demostring overlay
Das legt ein Byte-Array genau über den Speicherbereich des Strings.
Damit lassen sich die einzelnen Zeichen des Strings als Byte ansprechen.
Wattt??? schrieb:> und wir gewinnen !!!!
Was hast DU denn damit zu tun? Hast du mitgespielt?
Die Millionäre haben gewonnen. Du hast bezahlt. So einfach ist das.