Schnellstartbox
Übersicht

Tidus85Betreff: Schnellstartbox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja also erstmal ein Hallo an euch alle. Also erstmal was zu mir, ich bin 21 Jahre alt und habe vor ca. 2 Wochen mit dem Programmieren begonnen (nur als Freizeitausgleich, soll nicht professionell werden) und ich komme aus Sachsen. Dieses Forum habe ich auf gut Glück gefunden und bin auch froh darüber den es ist sehr hilfreich ![]() Dieses Programm ist aus reiner Neugierde entstanden. Denn ich wollte einfach mal ausprobieren ob ich überhaupt dazu in der Lage bin ein kleines Programm selber zu erstellen, dadurch möchte ich es hier einfach mal kurz vorstellen und euch um eure Meinung bitten. Ich weiß das es solche Programme schon zu Hauf gibt doch lasst dies bitte bei der Beurteilung vorneweg. Danke ![]() Das Programm: Es funktioniert wie eine Schnellstartleiste und man wählt die verschiedenen Programme per Zahleneingabe aus. Ich habe es erst einmal nur mit Windows Programmen belegt weil ich noch nicht weiß wie man das mit einer Suche zur .exe Datei ausstattet. Es wurde in Blitz3D erstellt. Ein Screenshot: ![]() Der Quellcode: Code: [AUSKLAPPEN] Repeat
Graphics 640, 480, 0, 2 bildvariable=LoadImage("C:\Programme\Schnellstartbox\Multimedia\Grafik\Hintergrund.png") DrawImage bildvariable, x, y Color 0, 0, 0 Locate 330, 3 fontvariable = LoadFont("Tempus Sans ITC") SetFont fontvariable Eingabe$ = Input() If Eingabe$ = 1 Then filename$ = Chr$(34) + "iexplore.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 2 Then filename$ = Chr$(34) + "Calc.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 3 Then filename$ = Chr$(34) + "notepad.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 4 Then filename$ = Chr$(34) + "mspaint.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 5 Then filename$ = Chr$(34) + "magnify.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 6 Then filename$ = Chr$(34) + "sndvol32.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 7 Then filename$ = Chr$(34) + "wscui.cpl" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 7 Then filename$ = Chr$(34) + "wscui.cpl" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 8 Then filename$ = Chr$(34) + "explorer.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 9 Then filename$ = Chr$(34) + "sndrec32.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 10 Then filename$ = Chr$(34) + "wab.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 11 Then filename$ = Chr$(34) + "rstrui.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 12 Then filename$ = Chr$(34) + "moviemk.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 13 Then filename$ = Chr$(34) + "dfrg.msc" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 14 Then filename$ = Chr$(34) + "msimn.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 15 Then filename$ = Chr$(34) + "msnsusii.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 16 Then filename$ = Chr$(34) + "sol.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 17 Then filename$ = Chr$(34) + "spider.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 18 Then filename$ = Chr$(34) + "PINBALL.EXE" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 19 Then filename$ = Chr$(34) + "winmine.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 20 Then filename$ = Chr$(34) + "shvlzm.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 21 Then filename$ = Chr$(34) + "Rvsezm.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 22 Then filename$ = Chr$(34) + "hrtzzm.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 23 Then filename$ = Chr$(34) + "chkrzm.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 24 Then filename$ = Chr$(34) + "bckgzm.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 25 Then filename$ = Chr$(34) + "mshearts.exe" + Chr$(34) ExecFile(filename$) ElseIf Eingabe$ = 26 Then filename$ = Chr$(34) + "freecell.exe" + Chr$(34) ExecFile(filename$) Else Locate 120, 35 Color 110, 32, 32 Print "Entschuldigung, sie haben eine verkehrte Nummer eingegeben.Bitte probieren sie es noch einmal. Danke." WaitKey EndIf Until Eingabe$ = 5 Zum Download: http://rapidshare.com/files/16..._.rar.html So ich hoffe ich bekomme eure Meinung zu hören ob es sauber geschrieben ist. Wenn nicht an ich für Lösungsvorschläge und Verbesserungsvorschläge sehr interessiert. ![]() P.S.: Leider muss ich es auf RS uppen weil ich keine eigene HP habe. MFG Jan |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso schreibst du den LoadImage-Befehl in die Hauptschleife rein ?
Das Bild muss nur einmal am anfang geladen werden. mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
Tidus85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja ich hab es nicht anders hinbekommen weil er sonst das Programm was bei der richtigen Eingabe gestartet wird bis zur Unkenntlichkeit oft gestartet hat und ich den Rechner dann immer neu starten musste ![]() ![]() ![]() mfg jan |
||
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also: Ich würde auf Input verzichten, stattdessen eine Repeat Schleife mit KeyDown() und Text zur Ausgabe verwenden. Graphics mit Input() und Print() ist keine gute Mischung^^.
Edit: Benutz lieber Case statt If, dient der Übersichtlichkeit. |
||
![]() |
eleXityehemals "BlackProgrammer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi erstmal wilkommen hier ![]() ich finde dein programm richtig gut auch wenn es bei mir nur einen fehler ausspuckt, deswegen und weil dein style doch sehr katastrophal ![]() war hab ich mir einmal erlaubt das programm umzuschreiben und aufzuräumen ich habe auch eine eigene input funktion geschreiben die besser als die input version von blitz ist... ich hab alles wichtige kommentiert und hoffe du kannst daraus lernen ^^, falls du aber trotzdem fragen hast dann kannst du mich natürlich fragen ![]() MFG BlackProgrammer Code: [AUSKLAPPEN] ; Grafikeinstellungen setzen Graphics 640, 480, 16, 2 SetBuffer BackBuffer() ; Bilder und Fonts Laden imgBack = LoadImage("Multimedia\Grafik\Hintergrund.png") ; Hier reichen Relative pfade fntTempus = LoadFont("Tempus Sans ITC") SetFont fntTempus ; Variablen Global InpString$ = "" ; Variable für die eingabe Funktion While Not KeyHit(1) ; Beenden wenn ESC gedrückt wurde Cls Color 0, 0, 0 ; Farbe für 'alle' 2D Grafikbefehle Festlegen DrawImage imgBack, 0,0 ; Bild an die Position 0, 0 zeichnen Eingabe$ = MyImputRoutine(330, 3, "", 2, 2) ; Die Funktion MyImputRoutine aufrufen ExecApp(Eingabe$) ; Wenn etwas eingegeben wurde an die Funktion ExecApp Übergeben ; Welche dann das richtige programm auswählt Flip Wend End ; Auswertung der eingabe des users Function ExecApp(Num) DebugLog Num Select Num Case 0 ; Default weil die input Funktion immer null zurück gibt, wenn man nichts eingegeben hat ; und damit nicht immer die fehlermeldung erscheint, einfach diese notlösung ;) Case 1 filename$ = Chr$(34) + "iexplore.exe" + Chr$(34) ExecFile(filename$) Case 2 filename$ = Chr$(34) + "Calc.exe" + Chr$(34) ExecFile(filename$) Case 3 filename$ = Chr$(34) + "notepad.exe" + Chr$(34) ExecFile(filename$) Case 4 filename$ = Chr$(34) + "mspaint.exe" + Chr$(34) ExecFile(filename$) Case 5 filename$ = Chr$(34) + "magnify.exe" + Chr$(34) ExecFile(filename$) Case 6 filename$ = Chr$(34) + "sndvol32.exe" + Chr$(34) ExecFile(filename$) Case 7 filename$ = Chr$(34) + "wscui.cpl" + Chr$(34) ExecFile(filename$) Case 8 filename$ = Chr$(34) + "explorer.exe" + Chr$(34) ExecFile(filename$) Case 9 filename$ = Chr$(34) + "sndrec32.exe" + Chr$(34) ExecFile(filename$) Case 10 filename$ = Chr$(34) + "wab.exe" + Chr$(34) ExecFile(filename$) Case 11 filename$ = Chr$(34) + "rstrui.exe" + Chr$(34) ExecFile(filename$) Case 12 filename$ = Chr$(34) + "moviemk.exe" + Chr$(34) ExecFile(filename$) Case 13 filename$ = Chr$(34) + "dfrg.msc" + Chr$(34) ExecFile(filename$) Case 14 filename$ = Chr$(34) + "msimn.exe" + Chr$(34) ExecFile(filename$) Case 15 filename$ = Chr$(34) + "msnsusii.exe" + Chr$(34) ExecFile(filename$) Case 16 filename$ = Chr$(34) + "sol.exe" + Chr$(34) ExecFile(filename$) Case 17 filename$ = Chr$(34) + "spider.exe" + Chr$(34) ExecFile(filename$) Case 18 filename$ = Chr$(34) + "PINBALL.EXE" + Chr$(34) ExecFile(filename$) Case 19 filename$ = Chr$(34) + "winmine.exe" + Chr$(34) ExecFile(filename$) Case 20 filename$ = Chr$(34) + "shvlzm.exe" + Chr$(34) ExecFile(filename$) Case 21 filename$ = Chr$(34) + "Rvsezm.exe" + Chr$(34) ExecFile(filename$) Case 22 filename$ = Chr$(34) + "hrtzzm.exe" + Chr$(34) ExecFile(filename$) Case 23 filename$ = Chr$(34) + "chkrzm.exe" + Chr$(34) ExecFile(filename$) Case 24 filename$ = Chr$(34) + "bckgzm.exe" + Chr$(34) ExecFile(filename$) Case 25 filename$ = Chr$(34) + "mshearts.exe" + Chr$(34) ExecFile(filename$) Case 26 filename$ = Chr$(34) + "freecell.exe" + Chr$(34) ExecFile(filename$) Default Locate 120, 35 Color 110, 32, 32 Print "Entschuldigung, sie haben eine verkehrte Nummer eingegeben.Bitte probieren sie es noch einmal. Danke." End Select End Function ; Eigene Input funktion ist besser als Input Function MyImputRoutine$(PosX = 0, PosY = 0, Txt$ = "", maxLen = 10, Types = 3) ; auf die eingabe des users warten key = GetKey() ; Überprüfen das nur erlaubte zeichen in die eingabe übernommen werden ; Es werden aber nur kleine buchstaben beachtet If Not KeyHit(42) If (Types = 3 Or Types = 1) And (key > 97 And key < 122) ; Klein a - z ; keine eingabe mehr zulassen wenn die maximal länge erreicht ist If Len(InpString) < maxLen InpString = InpString + Chr(key) Else FlushKeys() End If ElseIf (Types = 3 Or Types = 2) And (key > 48 And key < 58) ; keine eingabe mehr zulassen wenn die maximal länge erreicht ist If Len(InpString) < maxLen InpString = InpString + Chr(key) Else FlushKeys() End If End If End If ; Auf Leertaste untersuchen If key = 32 ; keine leerzeichen mehr zulassen wenn die maximal länge erreicht ist If Len(InpString) < maxLen InpString = InpString + Chr(key) Else FlushKeys() End If End If ; Auf BackSpace untersuchen If KeyHit(14) If Len(InpString) > 0 InpString = Left(InpString, Len(InpString)-1) Else FlushKeys() End If End If ; nun fehlt nur noch eine anzeige des eingegebenen textes Text PosX, PosY, Txt + " " + InpString ; Gibt die eingabe zurück an die Hauptschleife wenn enter gedrückt wird If KeyDown(28) tmp$ = InpString ; Eingabe löschen InpString = "" Return tmp$ ; und zurückgeben End If End Function |
||
nVidia 570GTX | AMD Phenom II X6 | 8 GB RAM | 1TB | Win 7 Ultimate 64 SP1 | B3D, BMAX, BP, C#
Projekt : Worklog |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieses immer wiederkehrende if blabla kann man durch ein select case ersetzen.
Schau dir mal die Seite: www.blitzbase.de an. Dieses ständige ExecFile ist auch sinnlos, weil du ja nur ein mal die Datei ausführen musst, deren Pfad du in einer Variable gespeichert hast. Aber aufgrund der tollen Programme, die man damit ausführen kann, Respekt ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
kog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde noch raten ein Delay einzubauen:
BlitzBasic: [AUSKLAPPEN]
Dadurch wird die CPU Auslastung gesenkt, da du ja sowieso kein Spiel Programmierst ist es nicht so schlimm das Delay |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder du nimmst eine sinnvolle frame limiter routine, weil ein delay dämlich ist, wenn man kein flip 0 benutzt. | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Mashed Crashed |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moinmoin,
für 2 Wochen programmieren nicht schlecht, ich würd das programm net ganz weg packen, denn nacher , wenn du erfahrener bsit kommen noch dll's hinzu mit den du das noch verbessern kannst z.b. statt IExplorer gleich den standartbrowser. Aber wie gesagt für die Zeit nicht schlecht ![]() |
||
Tidus85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok ich danke euch erstmal für die Kritiken und werde mich da auch in nächster Zeit noch ein bisschen mehr rein hauen und ma schauen was bei raus kommt. Versuche mich z.zT. nur grad noch an was anderem aber werde auf alle Fälle das noch weiter ausbauen ![]() MFG Jan |
||
Tidus85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok erstmal sry für Doppelpost ![]() ![]() mfg jan |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group