1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. RKuehle

Beiträge von RKuehle

  • Win 10 - Autostart geht nur bedingt

    • RKuehle
    • 3. Januar 2016 um 18:09

    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.

    Grüße Ricardo

  • Wiederherstellungspartition löschen?

    • RKuehle
    • 1. Januar 2016 um 15:46
    Zitat von Andy

    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.

  • Lotus Notes UDF / Include-Datei - Macht das aus eurer Sicht Sinn?

    • RKuehle
    • 31. Dezember 2015 um 10:53

    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 ;)

  • Lotus Notes UDF / Include-Datei - Macht das aus eurer Sicht Sinn?

    • RKuehle
    • 30. Dezember 2015 um 17:28

    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

  • Lotus Notes Signatur auslesen?

    • RKuehle
    • 21. Dezember 2015 um 18:19
    AutoIt
    #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
    Alles anzeigen

    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

  • Lotus Notes Mail mit Anhang erstellen

    • RKuehle
    • 20. Dezember 2015 um 10:31

    Hallo BugFix,

    da sieht man, dass ich AutoIt-Newbie bin.
    Wieder was gelernt.
    Danke dafür.

    Grüße Ricardo

  • Lotus Notes Mail mit Anhang erstellen

    • RKuehle
    • 19. Dezember 2015 um 23:02

    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

  • Lotus Notes Mail mit Anhang erstellen

    • RKuehle
    • 19. Dezember 2015 um 12:49
    Code
    #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
    Alles anzeigen


    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

  • Neuling gleich mit Frage(n) - Validierung / Format / BKColor von Inputs

    • RKuehle
    • 8. Dezember 2015 um 14:33

    Hallo Kanashius,

    danke für den Hinweis. Sieht sauberer aus und spart die Redim's.
    Grüße Ricardo

  • Neuling gleich mit Frage(n) - Validierung / Format / BKColor von Inputs

    • RKuehle
    • 8. Dezember 2015 um 12:42
    Zitat von Oscar

    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
    #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
    Alles anzeigen

    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

  • Neuling gleich mit Frage(n) - Validierung / Format / BKColor von Inputs

    • RKuehle
    • 8. Dezember 2015 um 11:47

    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 <X 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

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™