Hallo Python-Gemeinde,
ich bin z.Z. daran ein ziemlich grosses VBscript-Programm in ein äquivalentes Python-Programm umzuschreiben. Da ich vorher noch nie mit Python zu tun gehabt habe, hab ich mir erstmal 2 gute Bücher besorgt und einen Tag im www gestöbert.
So weit zu meinem Kenntnisstand.
In dem VBscript gibt es jetzt Objektvariablen, die mit dem Keyword: NOTHING von dem Objekt wieder getrennt werden, also eine Art terminierung.
Ausserdem gibt es das Keyword WITH, dass eine Standartfunktion ist und eine Fehlermeldung (Messagebox) hervorruft.
Jetzt hab ich nichts gefunden, wie ich das in Python realisieren könnt.
Weiss jemand was ich meine und wie ich das machen kann?
Vielen Dank und Daumen hoch für jede Antwort.
VBscript in Python umschreiben--> Keyword: NOTHING und WI
Ich weiss nicht, wie viele hier VBScript können, aber ich kann mit der Beschreibung nicht viel anfangen.
Was sind in VBScript "Objektvariablen" und was bedeutet es eine solche von einem Objekt zu "trennen"? Kannst Du kurze Beispiele geben und beschreiben was da konkret passiert?
Einfache Messageboxen lassen sich mit der Standardbibliothek am einfachsten mit `Tkinter` bzw. mit den Funktionen im Modul `tkMessageBox` anzeigen.
Was sind in VBScript "Objektvariablen" und was bedeutet es eine solche von einem Objekt zu "trennen"? Kannst Du kurze Beispiele geben und beschreiben was da konkret passiert?
Einfache Messageboxen lassen sich mit der Standardbibliothek am einfachsten mit `Tkinter` bzw. mit den Funktionen im Modul `tkMessageBox` anzeigen.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Pü-Ton!Pü-Ton hat geschrieben:In dem VBscript gibt es jetzt Objektvariablen, die mit dem Keyword: NOTHING von dem Objekt wieder getrennt werden, also eine Art terminierung. Ausserdem gibt es das Keyword WITH, dass eine Standartfunktion ist und eine Fehlermeldung (Messagebox) hervorruft.
Willkommen im Python-Forum!
- ``NOTHING`` ist in Python ``None``
- ``WITH`` gibt es in Python nicht so wie du es aus VB kennst. Außerdem verstehe ich deine Meldung über WITH nicht.
Statt ``WITH`` verwendet man in Python einen zusätzlichen *kurzen*, aber normalerweise aussagekräftigen, Namen für ein Objekt.
Code: Alles auswählen
kn = langer_name_eines_objektes
kn.methode1
kn.methode2
...
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Also das mit dem WITH ist so gemeint:
In VBscript sieht der Code z.B. so aus:
Da der Ausdruck WITH am Ende mit END WITH abgeschlossen ist, handelt es sich schon um eine Funktion. Ausserdem wird sie von Notepad und eclipse blau hinterlegt, was auch dafür spricht...
Hmmm
In VBscript sieht der Code z.B. so aus:
Code: Alles auswählen
With xPE
strErrText = "Your Document failed to load" & _
"due the following error." & vbCrLf & _
"Error #: " & .errorCode & ": " & xPE.reason & _
"Line #: " & .Line & vbCrLf & _
"Document URL: " & .url
End With
msgbox strErrText
Hmmm
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Pü-Ton!Pü-Ton hat geschrieben:Da der Ausdruck WITH am Ende mit END WITH abgeschlossen ist, handelt es sich schon um eine Funktion.
WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion! WITH ist keine Funktion!
Code: Alles auswählen
import win32ui
import win32con
err_text = (
"Your Document failed to load due the following error.\n"
"Error #: %s: %s Line #: %s;\n"
"Document URL: %s;"
) % (x_pe.errorCode, x_pe.reason, x_pe.Line, x_pe.url)
win32ui.MessageBox(err_text, "Fehler", win32con.MB_OK)
Mit Python-Bordmitteln würde das so aussehen:
Code: Alles auswählen
import ctypes
...
ctypes.windll.user32.MessageBoxA(0, err_text, "Fehler", 0)
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Gerade dein With-Statement ist sinnlos, weil es genau das bedeutet:
With mit nur einer Anweisung ist einfach unnütz.
Code: Alles auswählen
xPE.strErrText = "Your Document failed to load" & _
"due the following error." & vbCrLf & _
"Error #: " & .errorCode & ": " & xPE.reason & _
"Line #: " & .Line & vbCrLf & _
"Document URL: " & .url
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice