Right oda so
Übersicht
BlitzBasic
Beginners-Corner|
|
ozzi789Betreff: Right oda so |
Antworten mit Zitat |
|---|---|---|
|
Hi
Ich möchte aus nem String ne "info" rauslesen also form$=Right$(name$,3) If form$ = "/red" Was so sehr gut geht . Doch wen die Beschreibungen nach dem / länger sind als 3 buchstaben geht das ja ned. Wie kann ich jetz genau beim / anfangen ? Thx oz |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
|
|
XeresModerator |
Antworten mit Zitat |
|---|---|---|
| mit LEN die länge des Strings feststellen und dann von rechts länge-1 auslesen. | ||
|
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
||
ChristianK |
Antworten mit Zitat |
|
|---|---|---|
| Mit "Instr" kannst du die Position des Zeichens im String herausfinden. Also einfach position = Instr( name$, "/" ) | ||
|
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
||
|
|
ozzi789 |
Antworten mit Zitat |
|---|---|---|
|
location = Instr( name$,"/",1)
form$=Left$(name$,location) Ich dachte eher so wat Edit : sry zu spät Also wie genau |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
|
|
Silver_Knee |
Antworten mit Zitat |
|---|---|---|
|
ich für meinen teil nutze weder Right noch left. Ich nutze wenn dann MID da ist nämlich beides drinne:
MID(text,start,[länge=bis zum ende]) Bei deinem Problem Speziell würde ich mir schnell aus irgendeinem Projekt von mir Between holen. Code: [AUSKLAPPEN] Function Between$(s$,b$,e$,fl=1)
f=Instr( s,b,fl )+Len(b) l=Instr( s,e,f ) r$=Mid( s,f,l-f) Return r End Function Between(text,find1,find2,[start=1])=Zwischen find1 und find2 In deinem Fall: Code: [AUSKLAPPEN] com$=Between(name+" ","/"," ");Gib zurück was zwischen / und dem nächsten Leerzeichen steht.
;damit auch wirklich ein leer zeichen da ist, hab ich an name noch eins dran gehängt. if com$="red" .... if com$="green"... |
||
|
|
ozzi789 |
Antworten mit Zitat |
|---|---|---|
|
Danke das gibt Sinn .. doch ich kann ned recht umsetzn -.-
Code: [AUSKLAPPEN] Graphics 800,600,16,2
filein = ReadFile("c:\test.txt") Repeat name$ = ReadLine (filein) form$=Between (name$+" ","/"," ") If form$ = "red" Color 255,0,255 Print name EndIf If form$ = "blue" Color 0,255,0 Print name EndIf If form$ = "green" Color 0,255,0 Print name EndIf If Not form$ = "green" Or form$ = "red" Or form$ ="blue" Print name Until Eof(filein) = 1 WaitKey CloseFile(filein) End Function Between$(s$,b$,e$,fl=1) f=Instr( s,b,fl )+Len(b) l=Instr( s,e,f ) r$=Mid( s,f,l-f) Return r End Function Hia die vereinfachte Version.. was mache ich falsch ? Man nix geht |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
|
|
skey-z |
Antworten mit Zitat |
|---|---|---|
| zeig uns doch mal den inhalt der datei, dann kann man vielleicht ehr sagen, den im code sehe ich im moment keinen Fehler | ||
|
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
||
|
|
ozzi789 |
Antworten mit Zitat |
|---|---|---|
|
Test 123 red/red
Testytest 234 blue/blue lol 345 green/green So sieht die Txt datei aus EDIT: Test 123 red / red Testytest 234 blue / blue lol 345 green / green bin ich blöd so wär richtig Tortzdem danke |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
|
|
Silver_Knee |
Antworten mit Zitat |
|---|---|---|
| wie solls denn am ende aussehen? | ||
|
|
ozzi789 |
Antworten mit Zitat |
|---|---|---|
|
Silver_Knee hat Folgendes geschrieben: wie solls denn am ende aussehen?
Wie meinst du das jetz ? |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
|
|
Eingeproggt |
Antworten mit Zitat |
|---|---|---|
|
ozzi, Ich würd sagen du hast die "Between" Funktion falsch angewandt. Da ich aber nich tweiß, wie es richtig gehört, hier mal meine Lösung. So gehts:
Code: [AUSKLAPPEN] form$=Trim(Right(name$,Len(name$)-Instr(name$,"/")))
mfG, Christoph. |
||
| Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 | ||
|
|
ozzi789 |
Antworten mit Zitat |
|---|---|---|
|
Danke
Habs jetz so gelöst Code: [AUSKLAPPEN] form$=Between (name$+" "," / "," ") location = Instr( name$,"/",1)-1 If location < 1 Then location = 0 |
||
|
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
||
Übersicht
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group
