Was ist mein Werkzeug?

Angelripper

Cadet 3rd Year
Registriert
Aug. 2008
Beiträge
32
Hi,

ich möchte ein Change Settings Programm bauen das wie folgt funktioniert.

Es startet eine Gui (optional mit einem Logo)
Dort gibt es die Möglichkeit eines Dropdownfeldes (Auflösung)
Dort gibt es ein Freitextfeld (Spielername)
Es gibt einen "Set" Button, der die oben ausgefüllten Werte in einer bestehenden .ini oder .cfg sucht und diese ersetzt
Optional zeigen mir die Felder immer den aktuellen Wert aus der .ini an

Hat jemand nen Tip für mich mit was ich sowas auf die Beine stellen kann?
Am liebsten wär mir echt so ein Klick Klick Rückgabewert = ...
 
hmm,
und da geht dann immer der Browser auf wenn ich das Ding starte?
Ich würds gern im Spieleverzeichnis ablegen und das Ding sollte irgendwie ne .exe oder so sein? Ist nicht zwingend. Wär aber schon schöner finde ich.
 
Falls du Interesse und Zeit hast, kannst du dich auch bspw. in die GUI-Programmierung in QT mittels C++ einarbeiten. Damit lassen sich alle Anforderungen abdecken, aber der Aufwand ist auf jeden Fall hoch, wenn du sowas bisher noch nicht gemacht hast.
 
Ne hab ich noch nix mit gemacht.
Das mit php klingt schon gut. Wenns dafür noch nen Editor gibt, wo ich checkboxen, dropdowns... wie in einem Formular bauen kann und das ganze als exe laufen lassen könnte.
 
Mit Visual Basics geht dass relativ leicht. Da kann man sich auch die GUI ohne große Kenntnisse mit drag and drop zusammenstellen.
Am Ende hat man eine .exe die ein Fenster öffnet und das benötigte erledigt.
 
-Razzer- schrieb:
Mit Visual Basics geht dass relativ leicht. Da kann man sich auch die GUI ohne große Kenntnisse mit drag and drop zusammenstellen.
Am Ende hat man eine .exe die ein Fenster öffnet und das benötigte erledigt.

Sehe ich auch so.
Wenn nur für Windows, dann nimm C# oder VB.NET in Verbindung mit WPF!
Da solltest du eig. sehr schnell zu Ergebnissen kommen.

Visual Studio Express kannst du dir hierfür kostenlos holen.
 
Hi,
danke euch für die Antworten. Fürs Design gefällt mir das mit VB + WPF schon super. Jetzt bräucht ich nur noch die Info wie ich den Inhalt meines Fensters, in ne Datei schreiben kann.
Hat da jemand ein Beispiel oder Lesestoff für mich?
 
Mach doch das naheliegende: Kombiniere in einer Suchmaschine deiner Wahl folgende Begriffe: deine gewählte Sprache und "write file"
 
Nicht ganz so einfach wie ich mir das vorgestellt hatte :(

Write File muss ich glaube ich noch bissl hinten an stellen. Habt ihr ne Empfehlung für mich um da ein bisschen rein zu kommen?
Ich weis im Moment gar nicht, wie ich die Einzelnen Inhalte des Dropdown Feldes verwenden kann.
 
Tja, es ist eben nicht alles Bunti-Klicki und fertig. Programme müssen auch heute noch tatsächlich GESCHRIEBEN werden, von Leuten die sich damit tatsächlich beschäftigt haben.
Also: Hophop, in die nächste Bibliothek und ein bisschen Standard-Literatur besorgen.
 
Du musst schauen wie die Objekte in VB heißen und dann halt bischen googlen.
Dropdown ist zB ComboBox - wenn dein Objekt den Namen ComboBoxResolution trägt kannst du mit ComboBoxResolution.Items.Add(<element>) einen Eintrag hinzufügen und später in der Berechnung mit ComboBoxResolution.SelectedItem benutzen.

Tutorials/Bsp zu einzelnen Objekten gibt es auch wie Sand am Meer:
http://www.tutorialspoint.com/vb.net/vb.net_combobox.htm
 
Zuletzt bearbeitet:
So ich hab mich mal bissl eingedeckt und schon fleissig Beispiele gebastelt.

Jetzt wollte ich meiner Idee mal ein bisschen näher kommen und hab mit der Dropdown etwas gespielt.
Leider hänge ich bei der Case Anweisung.
Wie kann ich denn 2 Variablen gleichzeig befüllen? Mit nur eine funktionierts.

Hier mein Code:

Private Sub cmbResolution_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbResolution.SelectedIndexChanged
Select Case cmbResolution.SelectedItem
Case "1024x768"
var_resx = "1024" & var_resy = "768"
Case "1280x1024"
var_resx = "1280"
Case "1680x1050"
var_resx = "1680"
Case "1920x1080"
var_resx = "1920"
End Select
End Sub
 
Das & weg und einfach eine neue Zeile:

Case "1024x768"
var_resx = "1024"
var_resy = "768"
 
Ich hab mir gedacht, packste mal AutoHotkey aus und zeigst, was damit alles möglich ist (und wollte mal wieder ne Kleinigkeit damit machen).

Hier das Ergebnis:
30b59f2f12.png


Und hier der Quellcode:
Code:
#SingleInstance, Force
#NoTrayIcon

; GUI Optionen
Gui, -Resize

; GUI Controls
Gui, Add, Picture,, logo.gif

Gui, Add, Text, w55, Auflösung:
Gui, Add, DropDownList, vResolution x+10 yp-3 w285, 1024x768|1280x1024|1680x1050|1920x1080

Gui, Add, Text, w55 x10, Spielername:
Gui, Add, Edit, x+5 r1 yp-3 vPlayerName hwndPlayerName -Wrap w285
SetEditCueBanner(PlayerName, "Spielername...")

Gui, Add, Button, x10 gSave w350, Speichern

; Einlesen der "jetzt"-Werte und befüllen der Controls
IniRead, res_x, config.ini, resolution, res_x
IniRead, res_y, config.ini, resolution, res_y
GuiControl, ChooseString, Resolution, %res_x%x%res_y%

IniRead, player_name, config.ini, general, player_name, %A_Space%
GuiControl,, PlayerName, %player_name%

; Breite und Höhe werden automatisch gesetzt
Gui, Show,, Einstellungen
return

Save:
; "Abschicken" der GUI und füllen der Variablen
Gui, Submit

; "Zerteilen" der Auflösung (aus $Resolution), nach "x"
StringSplit, res, Resolution, x

; Speichern in Ini-Datei
IniWrite, %res1%, config.ini, resolution, res_x
IniWrite, %res2%, config.ini, resolution, res_y

IniWrite, %PlayerName%, config.ini, general, player_name
MsgBox, 64, Fertig, Programm abgelaufen, beende jetzt!

GuiClose:
ExitApp

; Siehe http://www.autohotkey.com/board/topic/76540-function-seteditcuebanner-ahk-l/
SetEditCueBanner(HWND, Cue) {  ; requires AHL_L
   Static EM_SETCUEBANNER := (0x1500 + 1)
   Return DllCall("User32.dll\SendMessageW", "Ptr", HWND, "Uint", EM_SETCUEBANNER, "Ptr", True, "WStr", Cue)
}

Die "config.ini" wird automatisch erstellt sofern keine existiert.
Als "logo.gif" habe ich folgende Grafik verwendet: http://placehold.it/350x150.

Eine Beispiel-INI-Datei, generiert durch das Skript:
Code:
[resolution]
res_x=1920
res_y=1080
[general]
player_name=CryNickSystems

EDIT:
Mir fällt gerade auf, dass die Breite des Buttons nicht passt - ließe sich sicher leicht korrigieren, aber ich bin jetzt zu müde dafür :p
 
Zuletzt bearbeitet:
Zurück
Oben