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.
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
Es kommt immer auf die Sichtweise des Betrachters an.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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.