Seite 1 von 1
nochmal Konsole & Umlaute
Verfasst: 22.02.2006 16:20
von Ironsmurf
Ich möchte eine Datenbank entwickeln und das aber als Konsolen-Programm,
da ich als Anfänger mit dessen programmierung besser klar komme.
Nun die Darstelltung der Umlaute ist schon möglich, leider weiß ich nicht wie ich die Eingabe auch für Umlaute vorbereite.
Code: Alles auswählen
Procedure print_s(text.s)
CharToOem_(text.s,text.s)
PrintN( text.s)
EndProcedure
OpenConsole()
Dim Movies.s(100)
Movies( 0) = "James Bond - 007 - Die Welt ist nicht genug"
Movies( 1) = "James Bond - 007 - In tödlicher Mission"
Movies( 2) = "James Bond - 007 - Octopussy"
Movies( 3) = "James Bond - 007 - Sag niemals nie"
Movies( 4) = "James Bond - 007 - Stirb an einem anderen Tag"
Movies( 5) = "American Pie 1"
Movies( 6) = "7 Zwerge - Männer allein im Wald"
Movies( 7) = "666 - Trau keinem mit dem Du schläfst"
Movies( 8) = "1492 - Eroberung des Paradieses"
Eingabe$ = Input()
PrintN("")
SortArray (Movies(),2)
For Index.b = 0 To 100
film$ = movies.s(index)
If FindString (LCase(film$),LCase(Eingabe$),1)
Print_s(film$)
EndIf
Next
Input()
CloseConsole()
Für einen guten Rat wäre ich dankbar
Verfasst: 22.02.2006 16:22
von Ironsmurf
PS: Es geht mir darum das bei der Filmsuche, auch Umlaute genommen werden, z.B. tödlich oder männer.
Verfasst: 22.02.2006 17:00
von ts-soft
Das gegenstück von CharToOem_( ist OemToChar_(
Verfasst: 22.02.2006 17:05
von Ironsmurf
Ist richtig, aber irgenwo hatte ich einen Fehler, den beim Input Befehl stieg er immer aus
Verfasst: 23.02.2006 15:56
von KeyKon
So funktionierts doch:
KeyKon
Verfasst: 24.02.2006 03:43
von Ironsmurf
Leider immer noch nicht
Code: Alles auswählen
Procedure print_s(text.s)
CharToOem_(text.s,text.s)
PrintN( text.s)
EndProcedure
Procedure Eingabe_s(Input)
OemToChar_(Eingabe_s,Eingabe_s)
Eingabe_s = Input()
EndProcedure
;Globaliere String$
Global Ausgabe$
Procedure String(text$)
If FindString(Ausgabe$, text$, 1)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Dim Movies.s(10)
Movies( 0) = "James Bond - 007 - Die Welt ist nicht genug"
Movies( 1) = "James Bond - 007 - In tödlicher Mission"
Movies( 2) = "James Bond - 007 - Octopussy"
Movies( 3) = "James Bond - 007 - Sag niemals nie"
Movies( 4) = "James Bond - 007 - Stirb an einem anderen Tag"
Movies( 5) = "American Pie 1"
Movies( 6) = "7 Zwerge - Männer allein im Wald"
Movies( 7) = "666 - Trau keinem mit dem Du schläfst"
Movies( 8) = "1492 - Eroberung des Paradieses"
Dim Stars.s(10)
Stars( 0) = "Roger Moore"
Stars( 1) = "Maud Adams"
Stars( 2) = "Louis Jourdan"
Stars( 3) = "Steven Berkoff"
Stars( 4) = "Desmond Llewelyn"
Stars( 5) = "Lois Maxwell"
Stars( 6) = "Walter Gotell"
OpenConsole()
Repeat
PrintN("")
ConsoleColor(13,0)
Eingabe$ = Input()
PrintN("")
SortArray (Movies(),2)
For Index.b = 0 To 10
ConsoleColor(15,0)
film$ = movies.s(index)
If FindString (LCase(film$),LCase(Eingabe$),1)
Print_s(film$)
EndIf
Next
SortArray (Stars(),2)
For Index.b = 0 To 10
ConsoleColor(10,0)
film$ = Stars.s(index)
If FindString (LCase(film$),LCase(Eingabe$),1)
Print_s(film$)
EndIf
Next
ForEver
CloseConsole()
Habe es noch mal versucht.
Verzeihung, aber manchmal sieht man den Wald vor lauter Bäumen nicht,
Entschuldigung.
Verfasst: 24.02.2006 10:02
von Jake
Code: Alles auswählen
Procedure print_s(text.s)
CharToOem_(text.s,text.s)
PrintN( text.s)
EndProcedure
;Globaliere String$
Global Ausgabe$
Procedure String(text$)
If FindString(Ausgabe$, text$, 1)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Dim Movies.s(10)
Movies( 0) = "James Bond - 007 - Die Welt ist nicht genug"
Movies( 1) = "James Bond - 007 - In tödlicher Mission"
Movies( 2) = "James Bond - 007 - Octopussy"
Movies( 3) = "James Bond - 007 - Sag niemals nie"
Movies( 4) = "James Bond - 007 - Stirb an einem anderen Tag"
Movies( 5) = "American Pie 1"
Movies( 6) = "7 Zwerge - Männer allein im Wald"
Movies( 7) = "666 - Trau keinem mit dem Du schläfst"
Movies( 8) = "1492 - Eroberung des Paradieses"
Dim Stars.s(10)
Stars( 0) = "Roger Moore"
Stars( 1) = "Maud Adams"
Stars( 2) = "Louis Jourdan"
Stars( 3) = "Steven Berkoff"
Stars( 4) = "Desmond Llewelyn"
Stars( 5) = "Lois Maxwell"
Stars( 6) = "Walter Gotell"
OpenConsole()
Repeat
PrintN("")
ConsoleColor(13,0)
Eingabe$ = Input()
OemToChar_(Eingabe$,Eingabe$)
PrintN("")
SortArray (Movies(),2)
For Index.b = 0 To 10
ConsoleColor(15,0)
film$ = movies.s(index)
If FindString (LCase(film$),LCase(Eingabe$),1)
Print_s(film$)
EndIf
Next
SortArray (Stars(),2)
For Index.b = 0 To 10
ConsoleColor(10,0)
film$ = Stars.s(index)
If FindString (LCase(film$),LCase(Eingabe$),1)
Print_s(film$)
EndIf
Next
ForEver
CloseConsole()
Was du mit der Procedure Eingabe_s erreichen wolltest ist mir nicht ganz klar. Auf jeden Fall muß dort nicht [c]OemToChar_(Eingabe_s, Eingabe_s)[/c] stehen sonder die Variable in der du die eingabe ablegst, also [c]OemToChar_(Eingabe$, Eingabe$)[/c].
Habe die Procedure mal rausgenommen und es nach unten verschoben.
Verfasst: 24.02.2006 12:35
von Ironsmurf
Vielen herzlichen Dank dafür ! ! !
Als Anfänger ist es manchmal nicht ganz einfach.