Buchstaben aus text einzeln herrausholen
Übersicht

![]() |
YankeeBetreff: Buchstaben aus text einzeln herrausholen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich arbeite gerade an einem coolem Sprachprogramm wo man was eingeben kann und dann spreche ich den Satz mit einzelnen Buchstaben. So, jetzt habe ich aber das problem, dass ich nicht weis, wie man die Buchstaben da einzeln herrausholen kann. (bei Input) Kann jmd helfen? Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist doch einfach, mach eine FOR Schleife mit MID und LEN
Bespiel: Code: [AUSKLAPPEN] Eingabe$ = Input()
Output(Eingabe$) Function Output(Eingabe$) For pos% = 1 To Len(Eingabe$) Play(Mid(eingabe,Pos,1)) Next End Function Function Play(Buchstabe$) ..... End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Äh.... Also bei dem Code versteh ich 0,0... Kannst du mir das mal ganz langsam erklären bitte? Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:Mid
damit holst du buchstaben einzeln aus nem string raus. |
||
MrKeks.net |
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha, aber wie muss ich das jetzt machen bei "Function Play(Buchstabe$)" ?
Bitte helft nochmal, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kenne keinerlei Funktion namens Play.
Was macht die denn, oder was willst du der übergeben? Falls du der jedoch jeden einzelnen Buchstaben eines Wortes übergeben willst, musst du das so machen: BlitzBasic: [AUSKLAPPEN] ;Klick auf die Funktionsnamen, falls du nicht weißt was sie machen |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke mal, dass Play ein einfacher Platzhalter ist für das, was du mit dem Buchstaben vorhast.
Ok, hier nochmal ein Beispiel: ![]() Code: [AUSKLAPPEN] t$ = "Ich bin ein Text" tl = Len(t$) ;Länge des Textes ermitteln For i = 1 To tl b$ = Mid$(t$, i, 1) ;i-ten Buchstaben aus dem Text filtern Print i + ". Buchstabe: " + b$ Next WaitKey() End |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK, jetzt hab ich es so:
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() ;alle sounds laden Global a = LoadSound("a.wav") ......;bis z While Not KeyHit(1) Eingabe$ = Input("dein satz bitte:") Output(Eingabe$) Wend ;hier Funktionen Function Output(Eingabe$) For pos% = 1 To Len(Eingabe$) Play(Mid(Eingabe$,pos,1)) Next End Function Function Play(Buchstabe$) PlaySound Buchstabe$ Delay 300 End Function grml.... Jetzt kommt da immer "Illegal Memory Adress" Bitte helft nochmal^^ Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
SoNenTyp |
![]() Antworten mit Zitat ![]() |
---|---|---|
Debug aktivieren. Dann sind die Fehelrmeldungen um einiges Aufschlussreicher. | ||
Gruss Der Typ.
User posted image |
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK, den Sound, den gibt es nicht, sagt die Fehlermeldung. ![]() Weis jetzt jmd was falsch ist? Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
SoNenTyp |
![]() Antworten mit Zitat ![]() |
---|---|---|
Anscheinend konnte er die Datei nicht finden aus der du den Sound laden wolltest. Überprüf mal die Schreibweise. | ||
Gruss Der Typ.
User posted image |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du schreibst ja "Playsound Buchstabe$"
Du sagst dem Program damit, dass es den Sound abspielen soll, den du in der Variable "Buchstabe" gespeichert hast. In der Variable ist aber nur der String des entsprechenden Buchstaben enthalten. Was du jedoch machen musst, ist, entweder, eine große select-case Anweisung schreiben nach dem Schema Code: [AUSKLAPPEN] select Buchstabe case "a" playsound a case "b" playsound b end select oder du wandelst den Buchstaben in der Variable "Buchstabe" per "asc" in einen ASCII Wert um und lädst die Sounds für die Buchstaben vorher in ein Dim-Feld unter den entsprechenden ASCII Werten: Code: [AUSKLAPPEN] dim Buchstaben(255)
for i=0 to 255 Buchstaben(i) = loadsound(i+".wav") next und nachher: Code: [AUSKLAPPEN] local AscWert = asc(Buchstabe)
if Buchstaben(AscWert)<>Null playsound(Buchstaben(AscWert) Achtung, sind alles nur Pseudocodes, also nur vom Prinzip her richtig. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das liegt wohl daran, dass die dateien wahrscheinlich nicht "a", "b",... heißen sondern "a.wav". Das musst du in einer der Funktionen hinzufügen.
Ein zusätzlich Problem wirst du haben, wenn das Sonderzeichen oder leerzeichen im satz sind, die nicht als dateinamen erlaubt sind. Diese musst du vorher filtern und umbennen. |
||
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne mit den Globals hab ich alles richtig, ich denke der Fehler ist bei:
Code: [AUSKLAPPEN] ... Function Play(Buchstabe$) PlaySound Buchstabe$ Delay 300 End Function Oder? Ich denke ja, aber ich weis net was Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du möchtest doch für jeden Buchstaben einen bestimmten sound abspielen, und das macht du in der Function Play
Firstdeathmaker hat dir das auch schon beschrieben wie es einfach geht! |
||
[BB2D | BB3D | BB+]
|
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK danke an alle,
Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group