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. Alina

Beiträge von Alina

  • Wie die Übersicht im Programmcode behalten

    • Alina
    • 26. November 2015 um 20:30

    Ich habe zumeist ein Chaos³ (gesprochen Chaos hoch drei).

    Aber ich gelobe Besserung.

  • Happy Birthday, Raupi!

    • Alina
    • 26. November 2015 um 20:10

    ALLES GUTE RAUPI.
    Geburtstagskarte_1.jpg

  • SQLite Grundsatzfragen für AnfängerX

    • Alina
    • 26. November 2015 um 05:17

    @BugFix
    SQLite Administrator habe ich mir angeschaut und schon mit gearbeitet.
    Nun werde ich mich da mal austoben. Nicht jetzt, jetzt muss ich noch kurz mal Augen zu machen.

    Danke für die Links.

  • SQLite Grundsatzfragen für AnfängerX

    • Alina
    • 25. November 2015 um 20:09

    Aktuell habe ich shcon vieles eingebaut und auch verstanden wie es zu der Ausgabe der Datensätze kommt. Aber es gibt auch noch vieles was "offen" ist. Diese Punkte habe ich oben kommentiert.

    AutoIt
    #cs
    Versuche folgendes umzusetzen.
    Einfache Beispiele für SQL-Kommandos: http://www.torsten-horn.de/techdocs/sql-examples.htm
    
    
    - offen - : SELECT Nachname, Telefon FROM ADR WHERE Ort = 'Beispielort'      --> zeigt Name und Telefon an wenn Ort Beispieldorf ist
    - offen - : SELECT * FROM ADR WHERE Nr = '11' AND (Ort = 'Beispieldorf' OR Ort = 'Bubblehausen')      --> Nr 11 einer der beiden Ort muss vorhanden sein
    - offen - : SELECT * FROM ADR WHERE Ort LIKE '%stadt'     --> Ort mit den Ende "-stadt" mit beliebig viele Zeiten davor
    - offen - : SELECT * FROM ADR WHERE Tel LIKE '____8'    --> Ausgabe Tel mit einer 8 an der 5. Stelle
    - offen - : SELECT * FROM ADR WHERE Plz BETWEEN 25750 AND 25810     --> PLZ muss zwischen 25750 u. 25810 sein
    - offen - : SELECT COUNT(*) FROM ADR WHERE Strasse = 'Musterweg'    --> zähle die Einträge mit dem Suchergebnis
    - offen - : SELECT Ort, COUNT(*) Telefon FROM ADR GROUP BY Ort      --> ges. Anzahl an Tel-Nr. pro Ort
    - offen - : SELECT Ort, COUNT(*) FROM ADR GROUP BY Ort HAVING COUNT(*) >= 3   --> Die mit "GROUP BY" ermittelte Menge an Zeilen eingeschränken durch eine "HAVING"-Bedingung.
    - offen - : Datensatz löschen ???
    - offen - : Datensatz ändern ??? NEUE WERTE   $sPLZ = "98765", $sTelefon= "02154987304", $sMail = "sec_mail@domain.dk"
    - offen - : Neue Spalte in der Datenbank erstellen ???  einmal hinter [Mail] und einmal zwischen [Nachname] und [Strasse] wenn beides geht
    
    
    #ce
    ;Includes
    
    
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    
    
    ;Opt
    Opt("GUIOnEventMode", 1)
    
    
    ;  !!! Datei lösche ich hier nur, damit ich sie nicht manuell löschen muss in der Übungsphase !!!
    FileDelete(@ScriptDir & "\database.db")
    
    
    ; DLL Pfad
    _SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, 1) ; BugFix Idee, da DLL ja nicht mehr mitgeliefert wird
    
    
    ; gibt die SQL Version in die Console aus
    ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)
    
    
    ; Datenbank öffnen, ggf. erstellen
    Global $g_db_Database = _SQLite_Open(@ScriptDir & "\database.db")
    
    
    ; Datenbanktabelle
    _SQLite_Exec($g_db_Database, "CREATE TABLE IF NOT EXISTS ADR(ID INTEGER PRIMARY KEY AUTOINCREMENT, Vorname, Nachname, Strasse, Nr, PLZ, Ort, Telefon, Geburtstag, Mail);")
    
    
    ; jeweils ein Datensatz wird dazu geschrieben
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('1', 'Maria', 'Mustermann', 'Landstraße', '6', '01234', 'Bubblehausen', '08912547895', '2014.02.29', 'mail@domain.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('2', 'Klaus', 'Tester', 'Musterweg', '13', '25800', 'Beispieldorf', '02648745', '1990.05.01', 'email1@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('3', 'Renate', 'Tester', 'Musterweg', '11', '25800', 'Beispieldorf', '02648746', '1989.11.17', 'email2@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('4', 'Inga', 'Tester', 'Musterweg', '13', '25852', 'Beispielstadt', '02648747', '1954.02.31', 'email3@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('5', 'Lereno', 'Tester', 'Musterweg', '11', '25852', 'Beispielstadt', '02648748', '1989.11.17', 'email4@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('6', 'Lereno', 'Fester', 'Musterweg', '11', '25852', 'Beispielstadt', '02648748', '1989.11.17', 'email4@mail.dk' );")
    
    
    ; Änderungsabfrage
    MsgBox(0, "SQLite", "Die letzte Abfrage änderte " & _SQLite_Changes() & " Zeile." & @CRLF & _
            "Alle Abfragen änderten " & _SQLite_TotalChanges() & " Zeilen.")
    
    
    ; Datensätze in Cosole ausgeben
    local $aResult
    local $aResult2
    local $aResult3
    Local $aResult4
    local $iRows
    local $iColumns
    local $iRval
    
    
    ; ges. Tbl. ausgeben
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR;", $aResult, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    
    
    ; Ausgabe auf die Anfrage: Wer hat am 17.11.1989 Geburtstag ?
    ConsoleWrite(@CRLF & ".. Es folgen die Datensätze wo der Geburtstag der 17.11.1989 ist." & @CRLF)
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR WHERE `Geburtstag`='1989.11.17';", $aResult2, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult2) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    
    
    ; ID des letzten eingefügten Datensatz
    MsgBox(0,"",_SQLite_LastInsertRowID() & @CRLF)
    
    
    ; Sortieren nach Geburtsdatum Nachname
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR ORDER BY Geburtstag, Nachname;", $aResult3, $iRows, $iColumns)& @CRLF)
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult3) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    
    
    ; Alle anzeigen, außer die Datensätz haben die Nr. 11
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR WHERE Nr <> '11';", $aResult4, $iRows, $iColumns)& @CRLF)
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult4) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    
    
    ; Exit
    _Exit()
    Func _Exit() ; Datenbank schließen und down.
    
    
    	_SQLite_Close($g_db_Database)
    	_SQLite_Shutdown()
    	Exit
    EndFunc
    Alles anzeigen


    Aber weiter komme ich nun nicht.

  • einem Wert "$_" vorsetzen, damit man dann mit der Variable rechnen kann.

    • Alina
    • 24. November 2015 um 05:04

    Mars: ich weiß nicht, warum Deine o. g. Lsg. bei mir nicht funktioniert.

    Problem erkannt, Problem gespannt.
    Ich liebe es, wenn ich etwas aus dem Kopf bekomme, was mich tagelang beschäftigt hat. Auto fahren, ständig dieses "Ding" im Kopf, wie ich das umsetzen könnte.
    Auf Papier immer wieder an irgend welchen If-elseif, endif und Co skizziert. Aber jetzt, jetzt paßt es doch.

    Datum muss im Format 9.1.2016 eingegeben werden, wobei man das auch noch abfangen kann. Aber nun möchten wir mal nicht kleinlicher sein als dr Benedic. Ach der ist ja gar nicht mehr. Egal.

    AutoIt
    Local $_datum="22.10.2012" ; für jedes weitere Jahr Monat "+ 1" und im Schaltjahr +2
    Local $monats_Array[12] = [1,4,4,0,2,5,0,3,6,1,4,6]
    ;Local $tages_Array[7]   = [0,1,2,3,4,5,6]
    Local $wochentag_Array[7]   = ["Sa","So","Mo","Di","Mi","Do","Fr"]
    Global $_dat_split = StringSplit($_datum, '.', 2)
    $_tag = $_dat_split[0]
    $_monat = $_dat_split[1] ; pro Jahr +1 und im Schaltjahr +2 ausgehend von 2012
    $_add_eins = $_tag + $monats_Array[$_monat-1]
    ConsoleWrite(" Tag + Monatswert = " & $_add_eins & @CRLF)
    $_durch_sieben = $_add_eins / 7
    ConsoleWrite( " und das geteilt durch 7 ist : " & $_durch_sieben & @CRLF)
    $_rest = StringMid ( $_durch_sieben, 3 , 1 )
    ConsoleWrite( " und davon ist der einstellige Rest : " & $_rest & @CRLF)
    $_WoTaBezeichnung = $wochentag_Array[$_rest]
    ConsoleWrite( " welches nach $wochentag_Array[2], die 2 ist weil es der Restwert ist, dann ein " & $_WoTaBezeichnung & ". ist." & @CRLF)
    Alles anzeigen


    Wofür ich das brauche? Ein Freund von mir hat es mir demonstriert und ich fragte wie er das gemacht hat. Dann habe ich ds gegooglet und bin irgendwann auf seinen TV-total bericht gerstoßen und seit da ging es mir nicht aus den Kopf, das mand as doch auch mit AutoIt hin bekommen sollte. Und bestimmt findet sich eine bessere odre vielleicht auch eine noch schnellere Lsg., aber diese Lösung ist doch nun echt was für .... dokumentiert und nachvollziehbar. Oder. Ja, ich sehe schon den Einen oder Anderen Kopf schütteln, grinsend oder lachen. Aber wer mich schon länger kennt, der weiß: so bin ich. In diesem Sinne: h. d. H. Ups, Nacht ist vorbei. Nicht gut.

  • einem Wert "$_" vorsetzen, damit man dann mit der Variable rechnen kann.

    • Alina
    • 24. November 2015 um 00:15

    Ja, ich habe auch schon daran gedacht die Monatswerte und Tageswerte injeweils ein array zu packen.
    Und dann rechne ich damit weiter.

    chesstiger ? Sorry, das habe ich nun mal nicht so richtig verstanden, wenn überhaupt zu 25%. :(

  • einem Wert "$_" vorsetzen, damit man dann mit der Variable rechnen kann.

    • Alina
    • 23. November 2015 um 23:06

    siehe Pos. 1, da haqbe ich editiert.

    @peter S. Taler: wo im Norden? Ich bin von Flbg bis ganz oben in DK unterwegs gewesen. Miste Wetter ist überall.

  • einem Wert "$_" vorsetzen, damit man dann mit der Variable rechnen kann.

    • Alina
    • 23. November 2015 um 21:46

    Moin Moin.

    Ich stehe irgendwioe auf dem Schlauch.

    $_dat_splitt[1] ; gibt den Tag raus
    $_dat_splitt[2] ; gibt den Monat raus

    EDIT:
    $_dat_splitt[2] gibt mit z. B. 10 raus. Nun muss ich bei den Monatswerten (Zeile 4-15) die Variable $_10 weiter nutzen um weiter rechnen zu können.

    AutoIt
    #include <Array.au3>
    $_datum = "13.10.2012"
    ; Monatswerte
    $_01 = 1
    $_02 = 4
    $_03 = 4
    $_04 = 0
    $_05 = 2
    $_06 = 5
    $_07 = 0
    $_08 = 3
    $_09 = 6
    $_10 = 1
    $_11 = 4
    $_12 = 6
    ; Tageswerte
    $_sa = 0
    $_so = 1
    $_mo = 2
    $_di = 3
    $_mi = 4
    $_do = 5
    $_fr = 6
    ; Datum splitten
    $_dat_splitt = StringSplit($_datum,".")
    ; Tage
    $_tag = $_dat_splitt[1]
    MsgBox(0,"",$_tag)
    ; Monat
    $_monat = $_dat_splitt[2]
    MsgBox(0,"", $_monat) ;
    Alles anzeigen
  • SQLite Grundsatzfragen für AnfängerX

    • Alina
    • 20. November 2015 um 20:20

    Hallo BugFix.
    Habe das mit dem Datum geändert in meinem letzten Post. _DateConvert nutze ich bereits an anderer Stelle (anderen Script).
    Habe noch paar zeilen eingefügt in Beitrag-6: alle Datensätze in der Console ausgeben habe ich hinbekommen und die Ausgabe mit einem bestimmten Geb.-Datum.

    Aktueller Stand:

    AutoIt
    ;Includes
    #include <SQLite.au3>
    
    
    ;Opt
    Opt("GUIOnEventMode", 1)
    
    
    ;  !!! Datei lösche ich hier nur, damit ich sie nicht manuell löschen muss in der Übungsphase !!!
    FileDelete(@ScriptDir & "\database.db")
    
    
    ; DLL Pfad
    _SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, 1) ; BugFix Idee, da DLL ja nicht mehr mitgeliefert wird
    
    
    ; Datenbank öffnen, ggf. erstellen
    Global $g_db_Database = _SQLite_Open(@ScriptDir & "\database.db")
    
    
    ; Datenbanktabelle
    _SQLite_Exec($g_db_Database, "CREATE TABLE IF NOT EXISTS ADR(ID INTEGER PRIMARY KEY, Vornamen, Nachname, Strasse, Nr, PLZ, Ort, Telefon, Geburtstag, Mail);")
    
    
    ; jeweils ein Datensatz wird dazu geschrieben
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('1', 'Maria', 'Mustermann', 'Landstraße', '6', '01234', 'Bubblehausen', '08912547895', '2014.02.29', 'mail@domain.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('2', 'Klaus', 'Tester', 'Musterweg', '13', '25800', 'Beispieldorf', '02648745', '1990.05.01', 'email1@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('3', 'Renate', 'Tester', 'Musterweg', '11', '25800', 'Beispieldorf', '02648746', '1989.11.17', 'email2@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('4', 'Inga', 'Tester', 'Musterweg', '13', '25852', 'Beispielstadt', '02648747', '1954.02.31', 'email3@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('5', 'Lereno', 'Tester', 'Musterweg', '11', '25852', 'Beispielstadt', '02648748', '1989.11.17', 'email4@mail.dk' );")
    
    
    
    
    ; Datensätze in Cosole ausgeben
    local $aResult
    local $aResult2
    local $iRows
    local $iColumns
    local $iRval
    
    
    ; ges. Tbl. ausgeben
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR;", $aResult, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    MsgBox(0,"Die gesamte Tabelle wird angezeigt.","Die gesamte Tabelle wird angezeigt.")
    
    
    ; Ausgabe auf die Anfrage: Wer hat am 17.11.1989 Geburtstag ? 
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR WHERE `Geburtstag`='1989.11.17';", $aResult2, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult2) ; Anzeige des Ergebnisses in der Konsole
    
    
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    MsgBox(0,"Es wird ausgegeben, wer am 17.11.1989 Geburtstag hat.","Es wird ausgegeben, wer am 17.11.1989 Geburtstag hat.")
    
    
    
    
    ; Datensatz löschen ???
    ; Datensatz ändern ??? NEUE WERTE   $sPLZ = "98765", $sTelefon= "02154987304", $sMail = "sec_mail@domain.dk"
    ; Neue Spalte in der Datenbank erstellen ???  einmal hinter [Mail] und einmal zwischen [Nachname] und [Strasse] wenn beides geht
    Alles anzeigen
  • SQLite Grundsatzfragen für AnfängerX

    • Alina
    • 20. November 2015 um 19:32

    Moin Moin.


    Danke erst einmal für die Antworten von Euch.
    Habe sie mir durchgelesen und nun habe ich das Script erst einmal etwas verändert.

    AutoIt
    ;Includes
    #include <SQLite.au3>
    ;Opt
    Opt("GUIOnEventMode", 1)
    ;  !!! Datei lösche ich hier nur, damit ich sie nicht manuell löschen muss in der Übungsphase !!!
    FileDelete(@ScriptDir & "\database.db")
    ; DLL Pfad
    _SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, 1) ; BugFix Idee, da DLL ja nicht mehr mitgeliefert wird
    ; Datenbank öffnen, ggf. erstellen
    Global $g_db_Database = _SQLite_Open(@ScriptDir & "\database.db")
    ; Datenbanktabelle
    _SQLite_Exec($g_db_Database, "CREATE TABLE IF NOT EXISTS ADR(ID INTEGER PRIMARY KEY, Vornamen, Nachname, Strasse, Nr, PLZ, Ort, Telefon, Geburtstag, Mail);")
    ; jeweils ein Datensatz wird dazu geschrieben
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('1', 'Maria', 'Mustermann', 'Landstraße', '6', '01234', 'Bubblehausen', '08912547895', '2014.02.29', 'mail@domain.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('2', 'Klaus', 'Tester', 'Musterweg', '13', '25800', 'Beispieldorf', '02648745', '1990.05.01', 'email1@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('3', 'Renate', 'Tester', 'Musterweg', '11', '25800', 'Beispieldorf', '02648746', '1989.11.17', 'email2@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('4', 'Inga', 'Tester', 'Musterweg', '13', '25852', 'Beispielstadt', '02648747', '1954.02.31', 'email3@mail.dk' );")
    _SQLite_Exec(-1, "INSERT INTO ADR VALUES('5', 'Lereno', 'Tester', 'Musterweg', '11', '25852', 'Beispielstadt', '02648748', '1989.11.17', 'email4@mail.dk' );")
    ; Datensätze in Cosole ausgeben
    local $aResult
    local $aResult2
    local $iRows
    local $iColumns
    local $iRval
    ; ges. Tbl. ausgeben
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR;", $aResult, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult) ; Anzeige des Ergebnisses in der Konsole
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    MsgBox(0,"Die gesamte Tabelle wird angezeigt.","Die gesamte Tabelle wird angezeigt.")
    ; Ausgabe auf die Anfrage: Wer hat am 17.11.1989 Geburtstag ? 
    ConsoleWrite(_SQLite_GetTable2d(-1, "SELECT * FROM ADR WHERE `Geburtstag`='1989.11.17';", $aResult2, $iRows, $iColumns))
    If $iRval = $SQLITE_OK Then
        _SQLite_Display2DResult($aResult2) ; Anzeige des Ergebnisses in der Konsole
    	Else
    		MsgBox(16, "SQLite Fehler: " & $iRval, _SQLite_ErrMsg())
    EndIf
    MsgBox(0,"Es wird ausgegeben, wer am 17.11.1989 Geburtstag hat.","Es wird ausgegeben, wer am 17.11.1989 Geburtstag hat.")
    ; Datensatz löschen ???
    ; Datensatz ändern ??? NEUE WERTE   $sPLZ = "98765", $sTelefon= "02154987304", $sMail = "sec_mail@domain.dk"
    ; Neue Spalte in der Datenbank erstellen ???  einmal hinter [Mail] und einmal zwischen [Nachname] und [Strasse] wenn beides geht
    Alles anzeigen

    Runa:
    Ich verwende die SQLite und habe sie dem ersten Beitrag nachträglich angehängt.
    Was die Keywörter betrifft habe ich die schon verstanden, nur bei der Umsetzung in AutoIt habe ich Probleme.
    z. B. [SELECT * FROM ADR WHERE `Geburtstag`='29.02.2014';] sagt doch: [selktiere][alle DB-Sätze][aus der Tabelle ADR][Wo in der Spalte 'Geburtstag] gleich ist [29.02.2014]
    Nur ich bekomme das dann nicht ausgegeben z. B. in die Console oder MsgBox oder oder oder. Edit-Start: Habe die ersten beiden Abfrage, die Abfrage nach der ges. Tabelle und die nach dem Geburtstag. Was für ein Kampf. Edit-Ende


    Wäre es möglich, an Hand meiner im Script erstellten Datensätzt zu jedem Keywort ein Beispiel zu schreiben, so das es dann von dr Anwendung her verständlich wäre?


    BugFix :
    Startup ist im Script nun gefüttert. ;)
    Doku und Tuts habe ich gelinkt und schaue ich schon rein. ;)


    Espyre:
    Da schau ich mal vorbei.


    Yaerox:
    Einige dieser Stichworte die Du genannt hast habe ich auch verstanden und könnte sie auch erklären.
    SELECT = Datensatz/-sätze selektieren
    UPDATE = Datensatz/-sätze ändern
    DELETE = Datensatz/-sätze löschen
    ...


    Einen "Primary Key" habe ich im Script nun auch mit eingebaut.


    Hier hast Du jetzt die Möglichkeit an dem Beispielscript zu zeigen wie man welches "Stichwort" richtig einsätzt. ;)

  • SQLite Grundsatzfragen für AnfängerX

    • Alina
    • 20. November 2015 um 07:53

    Moin Moin zum Wochenende hin.
    .
    Ich denke das viele genau das gleiche Problem haben wie ich, wenn es um Datenbanken geht.
    Deshalb habe ich mir überlegt hier einfach mal ein Thema auf zu machen. Sinn soll es sein, das Jeder nach und nach mehr über SQL lernt.
    .
    Ich habe mir nun mal überlegt wie wir anfangen können.
    1.) DLL Pfad angeben
    2.) Datenbank öffnen bzw. erstellen
    3.) Datenbankspalten erstellen
    4.) Beispieldaten erstellt
    5.) Beispieldaten in Datenbank speichern / übergeben(?)
    6.) das Exit durchführen, d. h. Datenbank schließen und beenden

    Nun haben sich mir ein paar Fragen gestellt:
    1.) Wie einen Datensatz in der Console ausgeben ???

    2.) Wie einen Datensatz ändern ??? NEUE WERTE $sPLZ = "98765", $sTelefon= "02154987304", $sMail = "sec_mail@domain.dk"

    3.) Wie eine neue Spalte in die Datenbank erzeugen ohne dabei eine bereits gefüllte Datenbank zu "zerschießen"?
    a) an das Ende der Spalten, also nach [Mail]
    b) zwischen [Nachname] und [Strasse]

    4.) Wie lösche ich einen Datensatz?

    Ich würde mich freuen, wenn Ihr Eure Lösungen dokumentiert. Und wenn es Besonderheiten gibt die gesagt werden müssen, dann schreibt euch die Finger wund. Okay, nicht ganz so dolle. ;) *SPASS*

    AutoIt
    ;Includes
    
    
    #include <SQLite.au3>
    
    
    
    
    ;Opt
    Opt("GUIOnEventMode", 1)
    
    
    ; DLL Pfad
    _SQLite_Startup(@ScriptDir & "\sqlite3.dll")
    
    
    ; Datenbank öffnen, ggf. erstellen
    Global $g_db_Database = _SQLite_Open(@ScriptDir & "\database.db")
    
    
    ; Datenbankspalten
    _SQLite_Exec($g_db_Database, "CREATE TABLE IF NOT EXISTS ADR(Vornamen, Nachname, Strasse, Nr, PLZ, Ort, Telefon, Geburtstag, Mail);")
    
    
    ; Beispieldaten
    $sVorname = "Maria"
    $sNachname = "Mustermann"
    $sStrasse = "Musterbergheimer Landstraße"
    $sNr = 6
    $sPLZ = "01234"
    $sOrt = "Bubblehausen"
    $sTelefon = "08912547895"
    $sGeburtstag = "29.02.2014"
    $sMail = "mail@domain.dk"
    
    
    ; Beispieldaten werden in die Datenbank geschrieben
    _SQLite_Exec($g_db_Database, "INSERT INTO ADR VALUES('" & $sVorname & "', '" & $sNachname & "', '" & $sStrasse & "'," & _
    																	" '" & $sNr & "', '" & $sPLZ & "', '" & $sOrt & "'," & _
    																	" '" & $sTelefon & "', '" & $sGeburtstag & "', '" & $sMail & "');")
    
    
    ; Datensatz in der Console ausgeben ???
    
    
    ; Datensatz ändern ??? NEUE WERTE   $sPLZ = "98765", $sTelefon= "02154987304", $sMail = "sec_mail@domain.dk"
    
    
    ; Neue Spalte in der Datenbank erstellen ???  einmal hinter [Mail] und einmal zwischen [Nachname] und [Strasse] wenn beides geht
    
    
    ; Datensatz löschen ???
    
    
    
    
    
    
    _Exit()
    Func _Exit() ; Datenbank schließen und down.
    
    
    	_SQLite_Close($g_db_Database)
    	_SQLite_Shutdown()
    	Exit
    EndFunc
    Alles anzeigen

    Dateien

    sqlite3.rar 306,8 kB – 435 Downloads
  • IPv6 Adresse in Text suchen​

    • Alina
    • 20. November 2015 um 03:59

    "Geht ja doch" ist da immer eine bessere Rückmeldung. *fg*

    AutoIt
    #include <String.au3>
    #include <Array.au3>
    
    
    
    
    
    
    $sText = "Temporäre IPv6-Adresse. . . . . . : 2003:cc:dcaa:9434:ac3a:8900:3340:3cc1 " & _
    		 "7.25.23.2 " & _
    		 "Verbindungslokale IPv6-Adresse  . : fe80::dcaa:f15e:50a4:aa09%13"
    
    
    
    
    
    
    _IPAusgabe()
    
    
    Func _IPAusgabe()
        Local $aArray1 = _StringBetween($sText, 'Temporäre IPv6-Adresse. . . . . . : ', ' ')
        _ArrayDisplay($aArray1, 'Standardsuche')
    
    
    
    
    	Local $aArray2 = _StringBetween($sText, $aArray1[0],'Verbindungslokale IPv6-Adresse  . : ')
        _ArrayDisplay($aArray2, 'Standardsuche')
    
    
    
    
    	Local $aArray3 = _StringBetween($sText, 'Verbindungslokale IPv6-Adresse  . : ','')
        _ArrayDisplay($aArray3, 'Standardsuche')
    EndFunc   ;==>_IPAusgabe
    Alles anzeigen
  • Alte Includes vs. neue Includes

    • Alina
    • 19. November 2015 um 02:58

    @Raupi ??? Das ist jetzt nicht Dein ernst oder? Acht Versionen parallel? Ich habe für zwei Versionen eine virtuelle Umgebung, das könnte ich mir ja dann sparen. Wo packe ich das jetzt in meine To-Do Liste? Die ist so voll, majoman.

  • Random ohne Wiederholung - Wie geht's am einfachsten?

    • Alina
    • 19. November 2015 um 02:52

    @Kanashius

    Danke. Auf die Seite bin ich auch schon gestolpert. Das PDF-Script habe ich bereits und wir die Tage ausgedruckt. Kann man auch mal rein schauen, wenn der PC nicht an ist, sondern das Feuer am Kamin und eine schöne Flasche Roten. ;)

    Gibt es von Prof. Dr. Oliver Vornberger auch noch weitere Themen die man sich online ansehen kann und die so locker und verständlich erklärt sind? Ich finde das echt super gemacht. Erinnert mich doch opftmals an die Schulzeit.

    ICh liebe ja Algorithmen und würde es gerne können, damit zu zu longieren wie einige es machen. Aber ich habe Spass am Scripten und da Pascal und ich gerade an einem größeren Projekt bei sind, sind Algo's (nenne ich nun mal so ;) ) und Datenstruckturen wichtig. Deshalb schaue ich auch gerne gerade Filme bezüglich SQL-Datenbanken. Verstehen tue ich jetzt so grob wie man sie abfragen kann, aber noch nicht so recht wie man sie erstellt. Aber da werde ich sicherlich mal im Forum mich melden. Habe doch in der Vergangenheit gemerkt, das man einiges, gerade größere und große Datenbestände besser in eine DB steckt, als in Text- oder INI-Dateien. Aber je mehr ich sehe, je mehr Ideen habe ich, wo man es anwenden könnte. ;)

    So, nun werde ich noch kurz durch Forum weilen und dann ....

    Code
    If $Wochenende != "Samstag" || "Sonntag" then "Das Wochenende kommt jeden Tag ein wenig näher.", else "Boh, bald ist schon wieder Montag."


    Schlaft alle gut und denkt drann, bald ist Wochenende.

  • Random ohne Wiederholung - Wie geht's am einfachsten?

    • Alina
    • 18. November 2015 um 22:14

    Habe mir das mal angeschaut und zuvor die anderen Videos. Viel dazu gelernt, auch wenn es in Java ist. Es geht um das Verständnis.
    Hat mich ein Freund hin gebracht.

  • Alte Includes vs. neue Includes

    • Alina
    • 18. November 2015 um 22:01

    kann man nicht folgendes machen?
    Oder der Pfad zum normalen Include nutzen und in Zeile 2 mit einer Pfadangabe.

    AutoIt
    #include "_includscript_1.au3"
    #include "include_old\_includescript2.au3"
  • Ansi UTF-8

    • Alina
    • 16. November 2015 um 15:07

    Script das folgt ist von BugFix mit dem Vermerkt: Nicht getestet, aber sollte laufen

    AutoIt
    #Include <WinAPI.au3>
    Local $fh = FileOpen('UniCodeFile.txt', 32) ; Windows default mode UTF16 Little Endian
    Local $strUC = FileRead($fh)
    Local $len = StringLen($strUC) +1
    FileClose($fh)
    Local $tString = DllStructCreate("wchar[" & $len & "]")
    DllStructSetData($tString, 1, $strUC)
    Local $strANSI = _WinAPI_WideCharToMultiByte(DllStructGetPtr($tString))
    FileWrite(@ScriptDir & '\meineANSI.txt', $strANSI)
  • Rückrechnung

    • Alina
    • 16. November 2015 um 14:56

    :rock: Danke Aspirinjungie & Eukalyptus :thumbup:

  • Rückrechnung

    • Alina
    • 16. November 2015 um 00:10

    Das ist auch mal eine Berechnung, oder?

    Mal gefragt: "Daraus könnte man doch sicherlich eine Funktion (dez2bin) erstellen, oder? Gobt es das schon? Wenn ja dann überflüssig! ;)

    AutoIt
    Die Dezimalzahl 16112015 wird ins 2er-System umgewandelt
    
    
    Gehe nach folgendem Verfahren vor:
     (1) Teile die Zahl mit Rest durch 2.
     (2) Der Divisionsrest ist die nächste Ziffer (von rechts nach links).
     (3) Falls der (ganzzahlige) Quotient = 0 ist, bist du fertig,
         andernfalls nimm den (ganzzahligen) Quotienten als neue Zahl 
         und wiederhole ab (1).
    
    
         16112015 : 2 =  8056007  Rest: 1
          8056007 : 2 =  4028003  Rest: 1
          4028003 : 2 =  2014001  Rest: 1
          2014001 : 2 =  1007000  Rest: 1
          1007000 : 2 =   503500  Rest: 0
           503500 : 2 =   251750  Rest: 0
           251750 : 2 =   125875  Rest: 0
           125875 : 2 =    62937  Rest: 1
            62937 : 2 =    31468  Rest: 1
            31468 : 2 =    15734  Rest: 0
            15734 : 2 =     7867  Rest: 0
             7867 : 2 =     3933  Rest: 1
             3933 : 2 =     1966  Rest: 1
             1966 : 2 =      983  Rest: 0
              983 : 2 =      491  Rest: 1
              491 : 2 =      245  Rest: 1
              245 : 2 =      122  Rest: 1
              122 : 2 =       61  Rest: 0
               61 : 2 =       30  Rest: 1
               30 : 2 =       15  Rest: 0
               15 : 2 =        7  Rest: 1
                7 : 2 =        3  Rest: 1
                3 : 2 =        1  Rest: 1
                1 : 2 =        0  Rest: 1
    
    
         Resultat: 111101011101100110001111
    Alles anzeigen
  • Rückrechnung

    • Alina
    • 15. November 2015 um 23:47

    Meinst Du das hier?
    0x80 =
    0x100 =
    0x800 =
    0x1000 =
    Noch nicht mal auf die DEZ bzw. BIN gekommen die dann genutzt werden kann.
    Muss ich morgen mal schauen.

    DANKE !!!

    Edit: Dank Excel ging es schnell !!!

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™