Da es in anderen Foren - in denen ich lesend und schreibend zugegen bin - üblich ist sich als Neuling kurz vorzustellen, werde ich das hiermit mal kurz tun. (P.s. wen das nicht interessiert; weiter unten stelle ich sogar noch einige Fragen )
Also angefangen hat alles vor zwei Wochen . Ich war gerade dabei dosbox auf die neuste Version upzudaten, als ich mit schrecken feststellen musste, dass mein bisher verwendetes Frontent D-Fend nun endgueltig nicht mehr mit dosbox klarkommt.
Faul wie ich bin, habe ich mich nach Alternativen umgeschaut, jedoch keine brauchbare gefunden. Was blieb mir also anderes uebrig als die Finger aus dem allerwertesten rauszunehmen und selber was zu basteln? Nur womit, war die Frage. Meine Programmierkentnisse beschränkten sich auf Prozedurales Scripten (Bash, Awk, HTML, PHP etc.)?
Nach ein wenig stöbern bin ich dann auf Python gestossen. Um es kurz zu machen, letztes Weekend habe ich "A Byte of Python" durchgeackert und anfangs letzter Woche habe ich mir die PDF Version von wxPython in Action gekauft, dass ich heute durchgelesen habe .oO(Stoehn )
Bisher habe ich also ~1000 Seiten Python/wxPython Erfahrung, ein Grobkonzept für das dosbox Frontend aber noch keine einzige Zeile Python Code geschrieben
Und bevor ich allzugrossen Mist zusammenprogrammiere, habe ich mich in diesem Forum angemeldet. Natürlich in der Hoffnung, dass Ihr mir bei meinen Fragen und Codeschnippseln jeweils links und rechts eines mit den Zaunpfählen reindonnert
So, und damit es nicht heisst ich lasse andere nicht zu Worte kommen, gleich einige Fragen an euch, die Ihr mir vielleicht gleich zu Beginn beantworten könntet...
1.) Wie handhabt Ihr das in diesem Forum mit Fragen? Eine Frage pro Thread oder kann man auch mehrere stellen (Ich gehe jetzt mal ganz frech von letzterem aus, sonst muesste ich jetzt ja gleich einen neuen Thread starten).
2.) Mein Frontend soll unter Windows wie auch unter Linux lauffähig sein. Gibt es ausser der unterschiedlichen Handhabung von Pfadnamen noch andere Dinge die ich bei der Programmierung beachten muss?
3.) Das Frontend soll Multilingual werden. Was haltet ihr von meinem Ansatz alles was irgend etwas "Wortaehnliches" enthaelt jeweils in eine eigene Variable zu packen und all diese Variablen in eine eigene Klasse zu packen? Im eigentlichen Programm würde ich dann von der jeweiligen Sprachklasse ein Instanz erstellen und dann mit dieser Instanz arbeiten.
Zum besseren Verständnis ein Dummy Beispiel:
sprachtest_import.py
Code: Alles auswählen
# Test: Die folgende Klasse enthaelt nur Variabeln fuer die Sprache...
class DELanguageStrings:
def __init__(self):
self.hello = 'Ich bin der "hallo" String'
self.error = 'Ich bin der "error" String'
class ENLanguageStrings:
def __init__(self):
self.hello = 'I\'m the "hello" String'
self.error = 'I\'m the "error" String'
Code: Alles auswählen
#!/usr/bin/python
import sprachtest_import
# Normalerweise wuerde man nur einen instanzieren, zur
# Demonstration instanziere ich jedoch beide Sprachen.
brabbel = sprachtest_import.DELanguageStrings()
print brabbel.hello
print brabbel.error
# Und jetzt auf Englisch
brabbel = sprachtest_import.ENLanguageStrings()
print brabbel.hello
print brabbel.error
4.) Fuer den Aufbau einer Konfigurationsdatei habe ich mir in etwa folgendes Schema vorgestellt:
Wie lese ich nun eine Sektion (z.B. grafik) am einfachsten mit Python aus? Unter Linux haette ich jetzt nach allen Zeilen gegreppt welche mit "[" beginnen und haette mir die Zeilennummern ausgeben lassen. Danach haette ich anhand der Zeilennummer von [sound] eine "von Zeile [grafik]+1 bis Zeile [sound]-1" abgrenzung gebastelt.[grafik]
breite=1024
hoehe=768
farbtiefe=32
[sound]
emulation=soundblaster
irq=7
dma=1
Aber unter Python wird das doch sicherlich viel eleganter gehen. Hat mir da vielleicht jemand einen Zauhnpfahl übrig? Er darf auch winken damit
5.) Kennt vielleicht jemand eine Seite (Englisch oder Deutsch) welche sich mit "Probleme und deren Lösungen" befasst? Also in der Art:
F: Ich erstelle eine Liste mit 4000 Eintraegen, wie kann ich die Initialisierung beschleunigen und weniger RAM verbrauchen?
A: Verwende virtuelle Listen, hier ein Beispiel.
oder
F: Wie erstelle ich einen Wizard für meine Applikation?
A: Hier ein Beispiel Programm dass die Wizard Klasse von wxPython nutzt.
etc..
So, genug der Fragen sonst schmeisst ihr mich noch raus bevor ich ueberhaupt richtig heimisch werden kann hier
Lieber Gruss
STiGMaTa