Hier werden verschiedene Möglichkeiten aufgezeigt: https://autoit.de/Run%20as%20Administrator
In Win 7 und 8 benutze ich immer Elevated Shortcut. Ob es in Win 10 auch läuft müsste man testen.
Beiträge von RKuehle
-
-
Hi,
ich hatte bisher keine Probleme damit, Wiederherstellungspartition einfach zu löschen.
Sowohl bei Win7 Laptop/Desktop als auch Win8.1 Tablet. Ich frag mich immer noch, wer so etwas überhaupt braucht....In Win 7 gibt es bei der Enterprise / Ultimate Version die BitLocker-Verschlüsselung für die Systempartition. Die Verschlüsselungsroutinen befinden sich, neben dem Bootmanager, dann ebenfalls auf dieser unverschlüsselten Partition. In Windows 8 (dann 350 MB) liegen dort auch noch die Files für das Notfallsystem "Windows Recovery Environment", welches in Win 7 noch im Verzeeichnis "Recovery" der Systempartition residiert.
-
Guten Morgen allerseits,
dannn werde ich mich nach Neujahr intensiver darum kümmern das ganze in Form zu bringen.
Ich sage aber gleich, es wird sicher mehrere Wochen dauern bis so etwas wie ein erstes benutzbares Release zur Verfügung steht.
Das liegt unter anderem daran, dass (auf Grund der Klassenhierarchie im LoNo) erstmal die Basisklassen geschrieben werden müssen.
Mit denen allein kann man aber noch nicht so dolle Sachen machen, sprich komplette Vorgänge abbilden.Gibt es irgendwelche "Spiel"-Regeln die man im Forum beachten muss, was die Aktualisierung von Inhalten angeht?
Jede Änderung in einem neuen Post zum Thema, oder den originalen Post immer wieder ändern?
Ich benutze am liebsten die zweite Variante und nutze dann Anhänge.
Wäre das Okay?Grüße Ricardo
PS: Ansonsten wünsche ich euch allen einen angenehmen Rutsch in 2016 und morgen einen nicht zu dicken Kopf
-
Hallo Forum,
ich bin inzwischen dabei mir eine include - Datei zu schreiben, die möglichst viele LoNo Backend-Klassen umfassen soll.
Ziel soll sein, sich nicht um die OLE/COM-Aufrufe kümmern zu müssen, sondern eben in der "Autoit"-Notation zu bleiben.
Dazu ergeben sich ein paar Fragen, von deren Beantwortung der erforderliche Aufwand abhängt.
ich zähle die hier mal auf:
1. Besteht hier im Forum dafür überhaupt Bedarf? - Wenn ja, sollte natürlich eine entsprechende .chm erstellt werden
2. Die Backend-Klassen umfassen ja verschiedene Bereiche: ausschliesslich der LoNo-Client, Zugriiff per Webbrowser,, Klassen die nur Domino-Server betreffen etc.
Welche Bereiche sind aus eurer Sicht relevant?
3. Oder ist es vielleicht sinnvoller wirkliche UDFs zu schreiben, die immer wiederkehrende Funktionabläufe zusammenfassen (Beispiel Mail senden) und alle möglichen Variationen abdecken?
Welche Vorgänge wären das dann?
4. Natürlich die Frage ob sich jemand bereit erklärt mitzumachen. Kann ja dabei auch um so Sachen wie das Erstellen der .chm gehen.
Würde mich über Meinungen / Anregungen freuen.Grüße Ricardo
-
AutoIt
Alles anzeigen#cs Routine zum Schreiben / Senden von Mails mit Methoden von Lotus Notes Test auf Windows 7 / 64, AutoIT 3.3.14, Lotus Notes 8.5 Variablen: $recipient - Empfänger - String $subject - Betreff - String $bodytext - Mailtext - String $attachment - Mailanhang - String $saveit - Speichern? - Boolean $enabled,$senabeld = 0,1 -> Signatur: nicht aktiviert, aktiviert $option,$soption = 1,2,3 -> Signaturtyp: Text, HTML/Image, Richtext !!!Felder gelten erst ab Version 8!!! #ce #include <date.au3> Func SendNotesMail($recipient, $Subject, $bodytext, $attachment, $saveit) $Session = ObjCreate("Notes.NotesSession") ; Session in LoNo starten. Wenn LoNo nicht läuft wird es gestartet und Kennwort abgefragt $UserName = $Session.UserName ; LoNo Username aus Session holen $Maildb = $Session.GETDATABASE("", "") ; LoNo Datenbankobjekt erstellen $Maildb.OPENMAIL() ; Mail-DB des Nutzers auf Datenbankobjekt legen (wird aus der aktuellen LoNo-Arbeitsumgebung geholt) $ProfileDoc = $Maildb.GetProfileDocument("CalendarProfile") $enabled = $ProfileDoc.GetFirstItem("EnableSignature") ; fragt das Profile ab ob Signaturen überhaupt aktiviert sind $senabled = $enabled.Abstract(80, False, False) If $senabled = 1 Then $option = $ProfileDoc.GetFirstItem("SignatureOption") ; Fragt das Profile ab welche Signaturart gesetzt ist $soption = $option.Abstract(80, False, False) EndIf $MailDoc = $Maildb.CREATEDOCUMENT ; Neues Backend-Dokument in Mail-DB erstellen $MailDoc.Form = "Memo" ; Dokumenttyp auf "Memo" - Mail setzen $MailDoc.From = $UserName ; Absender setzen $MailDoc.sendto = $recipient ; Empfänger setzen $MailDoc.Subject = $Subject ; Betreff setzen $MailDoc.SAVEMESSAGEONSEND = $saveit ; Dokument speichern? (im Ordner "Gesendet" der Mail-DB ablegen?) $MailDoc.PostedDate = _Now() ; Zeitangabe wann das Dokument gesendet wurde $body = $MailDoc.createRichTextItem("Body") ; Mailbody als Richtextfeld erstellen With $body .appendText($bodytext) ; Mailtext in Richtextfeld einfügen .addNewLine(2) ; 2 mal CRLF zum Mailtext hinzufügen EndWith If $attachment <> "" Then $EmbedObj = $body.EMBEDOBJECT(1454, "", $attachment, "Attachment") ; Den Mailanhang dem Richtextfeld hinzufügen EndIf If $senabled = "1" Then $Signature = $ProfileDoc.GetFirstItem("Signature") ; liest das Signaturfeld aus $sSignature = $Signature.Abstract(100, False, False) ; 100 - max. Länge der Signatur Switch $soption Case "1" ; Nurtext-Signatur With $body .appendtext($sSignature) EndWith Case "2" ; Signatur aus HTML / Image MsgBox("", "", "Signatur aus HTML / Image bei Backenddokumenten" & @CRLF & "Nur über API möglich!") Case "3" ; Richtext-Signatur With $body .appendrtitem($ProfileDoc.GetfirstItem("Signature_Rich")) EndWith EndSwitch EndIf $MailDoc.SEND(0, $recipient) ; Maildokument an Empfänger senden $EmbedObj = "NULL" ; Objekte der LoNo - Klassen wieder "zu machen" $MailDoc = "NULL" $Maildb = "NULL" $Session = "NULL" EndFunc ;==>SendNotesMail
Hallo Thomas,
ich habe mich mal ein wenig umgesehen und ein Script geschrieben welches zumindest Nurtext- und Richtext-Signaturen in die Mail einfügt.
Das Einfügen von Signaturen aus externen Dateien geht bei Backenddokumenten in Lotus Notes ohne API-Aufrufe nicht.
Bei Frontenddokumenten wäre es kein Problem, da dort die import-Methode genutzt werden kann.
Vielleicht hilft es ja weiter.
Grüße Ricardo -
Hallo BugFix,
da sieht man, dass ich AutoIt-Newbie bin.
Wieder was gelernt.
Danke dafür.Grüße Ricardo
-
Hallo Jens,
was in dem Script passiert ist nichts anderes als die COM - Fähigkeiten von AutoIt und Lotus Notes zu benutzen.
COM (Component Object Modell) ist eine von MS definierte Schnittstelle mit der sich Programme "unterhalten" können.
Da AutoIt und Lotus Notes die COM - Schnittstelle haben, ist es relativ leicht diese "Unterhaltung" anzustoßen.
Das setzt allerdings voraus, dass man die Klassen / Methoden / Objekteigenschaften der Gegenseite (hier Lotus Notes) kennt.
Da ich schon jahrelang in Lotuscript programmiere fällt mir das nicht ganz so schwer.
Ich bin schon am überlegen ob ich für die COM - Klassen von Lotus Notes AutoIt UDFs schreibe. Mal sehen...wäre nicht so unheimlich komplex, aber eine große Menge an Arbeit.
Nun, die Fehlerbehandlung wäre einfach mit "if @error" an den relevanten Stellen zu erledigen. Im Prinzip immer dann wenn Objekte erstellt werden oder mit den Objekten irgendwas gemacht wird.
Das wäre dann aber mehr Fehlerbehandlung als ausführender Code (theoretisch Zeile 12 bis 30). Macht aber nur Sinn wenn man die zurück gegebenen Fehlercodes auch entsprechend auswerten würde.Um mal einen Überblick über die Klassen etc. von Lotus Notes zu erhalten kannst du hier gucken: Lotus Notes Klassen
Grüße Ricardo
-
Code
Alles anzeigen#cs Routine zum Schreiben / Senden von Mails mit Methoden von Lotus Notes Test auf Windows 7 / 64, AutoIT 3.3.14, Lotus Notes 8.5 Variablen: $recipient - Empfänger - String $subject - Betreff - String $bodytext - Mailtext - String $attachment - Mailanhang - String $saveit - Speichern? - Boolean #ce Func SendNotesMail($recipient, $Subject, $bodytext, $attachment, $saveit) $Session = ObjCreate("Notes.NotesSession") ; Session in LoNo starten. Wenn LoNo nicht läuft wird es gestartet und Kennwort abgefragt $UserName = $Session.UserName ; LoNo Username aus Session holen $Maildb = $Session.GETDATABASE("", "") ; LoNo Datenbankobjekt erstellen $Maildb.OPENMAIL() ; Mail-DB des Nutzers auf Datenbankobjekt legen (wird aus der aktuellen LoNo-Arbeitsumgebung geholt) $MailDoc = $Maildb.CREATEDOCUMENT ; Neues Backend-Dokument in Mail-DB erstellen $MailDoc.Form = "Memo" ; Dokumenttyp auf "Memo" - Mail setzen $MailDoc.From = $UserName ; Absender setzen $MailDoc.sendto = $recipient ; Empfänger setzen $MailDoc.Subject = $Subject ; Betreff setzen $MailDoc.SAVEMESSAGEONSEND = $saveit ; Dokument speichern? (im Ordner "Gesendet" der Mail-DB ablegen?) $MailDoc.PostedDate = _Now() ; Zeitangabe wann das Dokument gesendet wurde $body = $MailDoc.createRichTextItem("Body") ; Mailbody als Richtextfeld erstellen With $body .appendText($bodytext) ; Mailtext in Richtextfeld einfügen .addNewLine(2) ; 2 mal CRLF zum Mailtext hinzufügen EndWith $EmbedObj = $body.EMBEDOBJECT(1454, "", $attachment, "Attachment") ; Den Mailanhang dem Richtextfeld hinzufügen $MailDoc.SEND(0, $recipient) ; Maildokument an Empfänger senden $EmbedObj = "NULL" ; Objekte der LoNo - Klassen wieder "zu machen" $MailDoc = "NULL" $Maildb = "NULL" $Session = "NULL" MsgBox($MB_SYSTEMMODAL, "Mailversand", "Mailversand abgeschlossen!", 10) ; Kurze info EndFunc
Hallo Forum,für ein kleines Projekt habe ich eine Lösung im Inet gesucht um mit AutoIt direkt in LoNo Mails mit Anhängen zu erstellen / zu senden.
Was dabei auffiel waren (recht komplizierte) Versuche den Namen der MailDB des Nutzers zu ermitteln, den/die Anhänge in Pfadnamen und Dateinamen zu zerlegen etc.
Nachdem ich mich ein wenig in den LoNo Klassen / Methoden umgesehen habe, war klar dass das alles garnicht notwendig ist.
Ergebnis ist ein kleines Script welches ausschliesslich die Möglichkeiten von LoNo nutzt. Die ganze Fehlerbehandlung habe ich dabei mal rausgelassen.
Vielleicht kann es ja jemand gebrauchen.
Grüße Ricardo -
-
Zu 1.) Warum ein Input benutzen, wenn es eine viel bessere Eingabemöglichkeit gibt: GUICtrlCreateDate
Zu 2.) Kann man nicht pauschal beantworten ohne den Code zu kennen.
Zu 3.) Das ist mit AutoIt nicht so einfach möglich. Da müsstest Du tricksen (Hintergrund-Label oder GDI+).Hallo Oscar,
danke für deine Antworten.
zu 1.) guter Hinweis, werde ich testen und gucken wie es aussieht.
zu 2.) Auch auf die Gefahr hin, dass hier nicht so gern gesehen (weil zu lang) hier mal der Code:AutoIt
Alles anzeigen#Region ### START Koda GUI section ### Form=d:\users\ricardo\vuss\vuss2.kxf Func f_erfassungsbogen() $Form1_2 = GUICreate("Erfassungsbogen Veranstaltungs- und Seelsorgestatistik (VuSS)", 724, 769, 195, 125) $Label1 = GUICtrlCreateLabel("Veranstaltungsbeginn", 24, 24, 140, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $I_Datum = GUICtrlCreateInput("", 24, 56, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label2 = GUICtrlCreateLabel("Datum", 184, 56, 45, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $C_VTyp = GUICtrlCreateCombo("", 376, 56, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label3 = GUICtrlCreateLabel("Veranstaltungstyp-Nr.", 536, 56, 141, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label4 = GUICtrlCreateLabel("Veranstaltung", 376, 24, 91, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $C_Zielgruppe = GUICtrlCreateCombo("", 376, 96, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label5 = GUICtrlCreateLabel("Zielgruppen-Nr.", 536, 96, 103, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label6 = GUICtrlCreateLabel("Ort", 384, 136, 24, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $I_PLZ = GUICtrlCreateInput("", 376, 168, 145, 26) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label7 = GUICtrlCreateLabel("Postleitzahl", 536, 168, 77, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_Dienststelle = GUICtrlCreateInput("", 24, 128, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label8 = GUICtrlCreateLabel("Dienststelle", 184, 128, 79, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_DstNr = GUICtrlCreateInput("", 24, 168, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Dekanat = GUICtrlCreateInput("", 24, 208, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label9 = GUICtrlCreateLabel("Dienststellen-Nr.", 184, 168, 111, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label10 = GUICtrlCreateLabel("Dekanat", 184, 208, 55, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label11 = GUICtrlCreateLabel("Dauer", 24, 248, 41, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $I_Dauer = GUICtrlCreateInput("", 24, 280, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label12 = GUICtrlCreateLabel("Veranstaltungs- / Unterrichtsdauer in Zeiteinheiten a 60 Min (60 Min = 1 Einheit)", 184, 280, 497, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_Uebernachtung = GUICtrlCreateInput("", 24, 320, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label13 = GUICtrlCreateLabel("Anzahl d. Übernacchtungen", 184, 320, 173, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_ORT = GUICtrlCreateInput("", 376, 208, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label14 = GUICtrlCreateLabel("Veranstaltungsort", 536, 208, 115, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $C_InAusland = GUICtrlCreateCombo("", 376, 248, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label15 = GUICtrlCreateLabel("In- / Ausland", 536, 248, 83, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $C_Veranstaltung = GUICtrlCreateCombo("", 376, 312, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label16 = GUICtrlCreateLabel("Vernstaltung ausgefallen?", 536, 312, 166, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label17 = GUICtrlCreateLabel("Abrechnung", 24, 360, 79, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $C_Haushalt = GUICtrlCreateCombo("", 24, 392, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label18 = GUICtrlCreateLabel("Haushalt", 184, 392, 58, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label19 = GUICtrlCreateLabel("Teilnehmer", 24, 432, 76, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $C_Durchfuehrende = GUICtrlCreateCombo("", 24, 464, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $C_Pfarrhelfer = GUICtrlCreateCombo("", 24, 504, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label20 = GUICtrlCreateLabel("Durchführende/r", 184, 464, 109, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label21 = GUICtrlCreateLabel("Pfarrhelfer/-in hat teilgenommen", 184, 504, 213, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_Referenten = GUICtrlCreateInput("", 376, 464, 145, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label22 = GUICtrlCreateLabel("Referenten", 536, 464, 75, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label23 = GUICtrlCreateLabel("Teilnehmeranzahl", 24, 544, 116, 22) GUICtrlSetFont(-1, 11, 800, 0, "Calibri") $I_Mannschaften = GUICtrlCreateInput("", 24, 608, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Uffzop = GUICtrlCreateInput("", 160, 608, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Uffzmp = GUICtrlCreateInput("", 296, 608, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Offz = GUICtrlCreateInput("", 432, 608, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_SOffz = GUICtrlCreateInput("", 568, 608, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $Label24 = GUICtrlCreateLabel("Mannschaften", 32, 576, 92, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label25 = GUICtrlCreateLabel("Unteroffiziere oP", 168, 576, 111, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label26 = GUICtrlCreateLabel("Unteroffiziere mP", 304, 576, 115, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label27 = GUICtrlCreateLabel("Offiziere < STH", 440, 576, 95, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label28 = GUICtrlCreateLabel("Stabsoffiziere", 576, 576, 90, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label29 = GUICtrlCreateLabel("Generale/Admirale", 32, 648, 124, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label30 = GUICtrlCreateLabel("Ehepartner", 168, 648, 73, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label31 = GUICtrlCreateLabel("Kinder/Jug.<25J.", 304, 648, 105, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label32 = GUICtrlCreateLabel("Hinterbliebene", 440, 648, 99, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $Label33 = GUICtrlCreateLabel("sonstige Teilnehmer", 576, 648, 131, 22) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") $I_Generale = GUICtrlCreateInput("", 24, 680, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Ehepartner = GUICtrlCreateInput("", 160, 680, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Kinder = GUICtrlCreateInput("", 296, 680, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_Hinterbliebene = GUICtrlCreateInput("", 432, 680, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $I_sonstige = GUICtrlCreateInput("", 568, 680, 121, 26, $ES_RIGHT) GUICtrlSetFont(-1, 11, 400, 0, "Calibri") GUICtrlSetBkColor(-1, 0xC0DCC0) $B_Abbrechen = GUICtrlCreateButton("Erfassungsbogen abbrechen", 24, 720, 275, 25) $B_Speichern = GUICtrlCreateButton("Erfassungsbogen speichern", 416, 720, 267, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### # Übernahme aus GUI1 GUICtrlSetData($I_Datum, $sDatum) GUICtrlSetData($I_Dienststelle, $sStandort) GUICtrlSetState($I_Dienststelle, $GUI_DISABLE) GUICtrlSetData($I_DstNr, $sDstNr) # Felder sperren GUICtrlSetState($I_DstNr, $GUI_DISABLE) GUICtrlSetData($I_Dekanat, $sDekanat) GUICtrlSetState($I_Dekanat, $GUI_DISABLE) # Vorbelegung mit 0 GUICtrlSetData($I_Dauer, 0) GUICtrlSetData($I_Uebernachtung, 0) GUICtrlSetData($I_Referenten, 0) GUICtrlSetData($I_Mannschaften, 0) GUICtrlSetData($I_Uffzop, 0) GUICtrlSetData($I_Uffzmp, 0) GUICtrlSetData($I_Offz, 0) GUICtrlSetData($I_Generale, 0) GUICtrlSetData($I_Ehepartner, 0) GUICtrlSetData($I_Kinder, 0) GUICtrlSetData($I_Hinterbliebene, 0) GUICtrlSetData($I_sonstige, 0) # Auswahlen setzen f_readIni($squeryFile, "VTyp") GUICtrlSetData($C_VTyp, "|" & _ArrayToString($aVTypValues)) f_readIni($squeryFile, "Zielgruppe") GUICtrlSetData($C_Zielgruppe, "|" & _ArrayToString($aZielgruppeValues)) f_readIni($squeryFile, "Inausland") GUICtrlSetData($C_InAusland, "|" & _ArrayToString($aInauslandValues)) _GUICtrlComboBox_SetCurSel($C_InAusland, 0) f_readIni($squeryFile, "Veranstaltung") GUICtrlSetData($C_Veranstaltung, "|" & _ArrayToString($aVeranstaltungValues)) _GUICtrlComboBox_SetCurSel($C_Veranstaltung, 0) f_readIni($squeryFile, "Haushalt") GUICtrlSetData($C_Haushalt, "|" & _ArrayToString($aHaushaltValues)) f_readIni($squeryFile, "Durchfuehrende") GUICtrlSetData($C_Durchfuehrende, "|" & _ArrayToString($aDurchfuehrendeValues)) f_readIni($squeryFile, "Pfarrhelfer") GUICtrlSetData($C_Pfarrhelfer, "|" & _ArrayToString($aPfarrhelferValues)) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $I_Datum Case $C_VTyp Case $C_Zielgruppe Case $I_PLZ Case $I_Dauer Case $I_Uebernachtung Case $I_ORT Case $C_InAusland Case $C_Veranstaltung Case $C_Haushalt Case $C_Durchfuehrende Case $C_Pfarrhelfer Case $I_Referenten Case $I_Mannschaften Case $I_Uffzop Case $I_Uffzmp Case $I_Offz Case $I_SOffz Case $I_Generale Case $I_Ehepartner Case $I_Kinder Case $I_Hinterbliebene Case $I_sonstige Case $B_Abbrechen GUIDelete($Form1_2) ExitLoop Case $B_Speichern EndSwitch WEnd EndFunc ;==>f_erfassungsbogen Func f_readIni($file, $section) Local $ainiLine = IniReadSection($file, $section) Switch $section Case "Standort" ReDim $aStandortKeys[UBound($ainiLine, $UBOUND_ROWS)] ReDim $aStandortValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aStandortKeys[$i - 1] = StringReplace($ainiLine[$i][0], "_", " ") $aStandortValues[$i - 1] = $ainiLine[$i][1] Next Case "Status" ReDim $aStatusValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aStatusValues[$i - 1] = StringReplace($ainiLine[$i][1], "_", " ") Next Case "VTyp" ReDim $aVTypValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aVTypValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Zielgruppe" ReDim $aZielgruppeValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aZielgruppeValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Inausland" ReDim $aInauslandValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aInauslandValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Veranstaltung" ReDim $aVeranstaltungValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aVeranstaltungValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Haushalt" ReDim $aHaushaltValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aHaushaltValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Durchfuehrende" ReDim $aDurchfuehrendeValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aDurchfuehrendeValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next Case "Pfarrhelfer" ReDim $aPfarrhelferValues[UBound($ainiLine, $UBOUND_ROWS)] For $i = 1 To $ainiLine[0][0] $aPfarrhelferValues[$i - 1] = $ainiLine[$i][0] & " " & $ainiLine[$i][1] Next EndSwitch EndFunc ;==>f_readIni
Ist eine zweite GUI mit Standardaufbau.
Die Comboboxen ziehen ihre Werte aus einer .ini-datei
Nicht über die Begriffe wundern, mein Arbeitgeber ist eine kirchliche Einrichtung.
zu 3.) Werde ich mich mal umhören und bestimmt nochmal nerven.Danke bis hierhin.
Grüße Ricardo -
Hallo Leute,
bin gerade ins Forum eingestiegen.
Bin ganz bewandert in Programmierung mit LotusScript, AVR Microcontrollern und ein wenig mehr.
Ab und an ergab sich die Situation, dass mein Arbeitgeber mal schnell ein Tool brauchte (Sicherungssysteme, FTp-Zeugs etc.) Dafür habe ich meist AutoIT genutzt und bin von dessen Möglichkeiten ziemlich begeistert.Aktuell bin ich an einem Statistikprogramm dran (das auch noch recht fix fertig werden soll) und stoße dabei im Eingabeformular jetzt auf mehrere Probleme:
1. Suche ich eine Möglichkeit in einem Input eine Datumseingabe zu validieren
DateIsValid() deckt ja wohl nur die englischen Format ab ? Gibt's da alternative Lösungen?
2. Sollen Eingaben auf logische Richtigkeit geprüft werden (Beispiel: Veranstaltung fällt aus, hat aber >0 Teilnehmer -> passt ja nicht)
An welcher Stelle im Code sollte man diese Prüfungen setzen? Im Switch / Case der Controls?
3. Würde ich gerne BKColor der Controls ändern sobald sie im Focus sind, also der Cursor im Input steht.
Hat da jemand vielleicht einen Codeschnipsel?Würde mich freuen wenn jemand weiterhelfen könnte!
Danke und Grüße
Ricardo