Schnellstartbox

Übersicht Sonstiges Projekte

Neue Antwort erstellen

 

Tidus85

Betreff: Schnellstartbox

BeitragMo, Feb 12, 2007 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy So ich denke das langt und kommen wir nun mal zu dem Teil der hier wichtig ist.

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 Razz

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:

user posted image

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. Very Happy

P.S.: Leider muss ich es auf RS uppen weil ich keine eigene HP habe.

MFG Jan

Cardonic

BeitragMo, Feb 12, 2007 10:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Feb 12, 2007 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Laughing Laughing Laughing

mfg jan
 

$tankY

BeitragMo, Feb 12, 2007 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

eleXity

ehemals "BlackProgrammer"

BeitragDi, Feb 13, 2007 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi erstmal wilkommen hier Very Happy

ich finde dein programm richtig gut auch wenn es bei mir nur einen fehler
ausspuckt, deswegen und weil dein style doch sehr katastrophal Wink
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 Laughing

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

BeitragDi, Feb 13, 2007 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile
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 Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

kog

BeitragDo, Feb 15, 2007 0:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde noch raten ein Delay einzubauen:

BlitzBasic: [AUSKLAPPEN]

Flip
Delay 20
Wend
End


Dadurch wird die CPU Auslastung gesenkt, da du ja sowieso kein Spiel Programmierst ist es nicht so schlimm das Delay

StepTiger

BeitragDo, Feb 15, 2007 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Mashed Crashed

BeitragDo, März 01, 2007 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
 

Tidus85

BeitragMi, März 21, 2007 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy

MFG Jan
 

Tidus85

BeitragDo, März 22, 2007 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok erstmal sry für Doppelpost Laughing Also hab das jetzt noch etwas übersichtlicher gemacht (zumindest für mich) und bin soweit zufrieden und schliesse das Programm damit ab. Ich danke euch trotzdem für eure Tipps und werde das im nächsten Projekt mit berücksichtigen Wink Also von mir aus kann das hier geschlossen werden.

mfg jan

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group