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.
Das ' - Zeichen ist eine Substitution für das (alte) REM - eine Einleitung eines Kommentares innerhalb einer Zeile.
klapp irgendwie nicht, gibts keine andere Lösung um einfach nur das Komma mit einem Punkt zu ersetzen??
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
Mit ascii funktioniert auch nicht @ charly B.:Sorry bin noch anfänger es muss doch eine einfache lösung geben die jedermann versteht
Hi
>Mit ascii funktioniert auch nicht
Dann vielleicht so:
Variable(3) = CHR($2E)
MfG Spess
[basic] Dim Textout As String * 11 Textout = "42,23" Print Textout Replacechars Textout , "," , "." Print Textout [/basic]
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"
@stefan Ich glaub, ich werd langsam alt. Du warst einfach schneller als ich. screwdriver
@ 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
dim string_item (20) as byte at demostring overlay diese zeile versteh ich nicht
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.
Vorschlag:
1 | Dim Text As String * 16 |
2 | Dim Text2 As String * 1 |
3 | |
4 | do |
5 | ... |
6 | Text = Lookupstr(_month , Monate) : Gosub Rpltxt : lcd Text |
7 | ... |
8 | wend |
9 | |
10 | ' bei der Variable >Text< werden die Sonderzeichen getauscht: |
11 | Rpltxt: |
12 | Text2 = Chr(225) : Replacechars Text , "ä" , Text2 |
13 | Text2 = Chr(239) : Replacechars Text , "ö" , Text2 |
14 | Text2 = Chr(245) : Replacechars Text , "ü" , Text2 |
15 | Text2 = Chr(226) : Replacechars Text , "ß" , Text2 |
16 | Return |
Die Chr(#) gemäß Zeichentabelle anpassen
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.