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

Beiträge von misterspeed

  • ISN AutoIt Studio

    • misterspeed
    • 10. Mai 2013 um 16:55

    Hab nochmal mit einem frischen Projekt getestet und dabei festgestellt, dass es nicht an den Includes liegen kann. Es liegt am Umfang aller im Projektbaum vorhandenen Scripte, da diese anscheinen ebenfalls durchsucht werden und nicht nur das gerade geöffnete Script des Projekts. In meinem Fall befinden sich insgesamt mehr als 30 alte Versionen des 6k Zeilen Scripts im Projekt. Sobald ich diese alten Versionen in das frische leere Projekt importiere tritt der Performance Engpass auf, egal ob ich nur ein Minimal Script bearbeite oder eines der großen Scripte.

    EDIT: Ja mit der Einschränkung auf das aktuelle Script in den Programmeinstellungen kommt es nur noch zu einem Mikrohänger, was akzeptabel erscheint.

  • ISN AutoIt Studio

    • misterspeed
    • 10. Mai 2013 um 16:42

    Sorry für die doof Frage... welcher Editormodus? :D
    Ich kenne nur den ganz normalen Modus, also links projektbaum, mittig meine Tabs mit den Scripten und rechts der Skriptbaum. Wenn mit Editormodus der neue Fenstermodus "Scriptausschnitt anzeigen" gemeint war, dann nein, dort hab ich nicht getestet, sondern im "normalen" Modus.

    EDIT: Da passierts btw aber auch. ;)

  • ISN AutoIt Studio

    • misterspeed
    • 10. Mai 2013 um 16:27

    Ok ob die Funktionen seither dabei waren kann ich nicht beurteilen, ich programmiere nachwievor mit Scite, da deine IDE aber immer besser wird juckts mich durchaus in den Fingern umzusteigen. Die Funktionen in die Autovervollständigung einzuschließen ist somit dann ein Request. :P

    Nun zum Bug:

    Es scheint weniger mit dem Script selbst zutun zu haben, sondern mit den verwendeten includes, da diese anscheinend ebenfalls geparsed werden. Hier ein Testscript bei dem das Problem auch auftritt.

    [autoit]


    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <Constants.au3>
    #include <EditConstants.au3>
    #include <File.au3>
    #include <GUIComboBox.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #Include <GuiListBox.au3>
    #Include <GuiListView.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <String.au3>

    [/autoit]

    Ich sehe zwar unten die Anzeige "Variablen werden eingelesen...", aber diese bleibt aufgrund der massiven Systemauslastung bei 0% stehen und irgendwann nach sehr langer Zeit erscheint dann auch die Autovervollständigungsliste. Das Programm reagiert auch erst dann wieder auf Eingaben, wenn die Liste erstellt wurde. Man kann den Hänger also nicht durch schnelles tippen minimieren oder vermeiden. Vielleicht solltest du die Includes ausnehmen oder hardcodet hinterlegen, so dass diese nicht jedesmal neu eingelesen werden müssen wenn man in einem Script ein umfangreiches include verwendet. Scite listet diese include Variablen/Konstanten denke ich nur dann auf wenn man sie bereits einmal im eigentlichen Script verwendet hat, kann mich da aber auch täuschen.

  • ISN AutoIt Studio

    • misterspeed
    • 10. Mai 2013 um 15:28

    Danke sind ja ein paar nette Dinge dabei, gerade die automatische Suche/Markierung finde ich praktisch. Ich vermute du hast das aus performance Gründen auf mind. 4 Zeichen festgelegt?
    Auch vielen Dank für die Dateisortierung des Projektbaumes und die Möglichkeit zur leichteren Änderung der Hauptdatei.


    Zitat

    - NEU: Im Skripteditor werden in der Autocomplete-Box nun Icons angezeigt (Icons orientieren sich nach dem Code-Farbschema (alt/neu))


    Allerdings gibt es hier einen mächtigen Bug, der vermutlich mit deinen Änderungen zusammenhängt. Gebe ich das Zeichen "$" ein läuft deine IDE in meinem 6k Zeilen Script Amok (volle CPU Last, 1GB Ram Verbrauch, langer Hänger). Die Autovervollständigung schlägt btw auch keine selbst programmierten Funktionen mehr vor.


    EDIT:

    Die neue Funktion "Code Ausschnitt anzeigen" ist ebenfalls genial. Schöner wäre es aber, wenn man dies nutzen könnte um mehrere Funktionen in separaten Fenstern darzustellen, z.B. um 2 Funktionen nebeneinander anzuzeigen. Derzeit ist man leider im Fenster gefangen und kann die Hauptgui erst nach dem schliessen des Ausschnitts wieder bedienen. Das Fenster ist außerdem nicht resizeable.

  • Suchfunktion in Textdateien

    • misterspeed
    • 10. Mai 2013 um 14:39

    Schau dir die Hilfe zu

    [autoit]

    _stringbetween(...)
    ; und
    stringsplit(...)

    [/autoit]


    an.

  • Beziehungen zwischen Tabellen

    • misterspeed
    • 10. Mai 2013 um 11:18

    Hier ist erklärt wie man Fremdschlüssel bei der Tabellenerstellung mit sqlite deklariert, was prinzipiell bei anderen relationalen SQL Datenbanken genauso abläuft:

    http://www.sqlite.org/foreignkeys.html


    Die Frage ist nun ob du das Primär und Fremdschlüsselprinzip verstanden hast und nur nicht die Umsetzung verstehst, oder ob beides unklar ist. Beides sollte aber durch diesen und den wikipedia Link von Aspirinjunkie ausreichend erklärt werden. Zu beachten ist außerdem bei der Umsetzung von Beziehungen, dass man unterscheiden muss, ob es sich um 1:1, 1:n oder n:m Beziehungen handelt. Bei n:m Beziehungen zwischen 2 Tabellen benötigst du eine sogenannte JOIN Tabelle, also eine dritte Tabelle, welche die Beziehung zwischen den anderen darstellt.

    Legende: Primärschlüssel // Fremdschlüssel


    Beispiel einer n:m Beziehung:

    |Person| n---------->m |Haarfarbe|
    Personen dürfen in diesem Beispiel mehrere Haarfarben haben (z.b. pinke Strähnen in blondem Haar) und jede Haarfarbe darf selbstverständlich mehreren Personen zugeordnet werden.

    Person(P_ID,name,...)

    Haarfarbe(F_ID,bezeichnung,...)

    Person_Haarfarbe(P_ID,F_ID)
    // P_ID ist Fremdschlüssel zu Person und F_ID ist Fremdschlüssel zu Haarfarbe, beide Schlüssel stellen gleichzeitig auch den zusammengesetzten Primärschlüssel dar, damit Doubletten unmöglich, aber mehrere Personen mehrere Haarfarben haben dürfen


    Beispiel einer n:1 Beziehung:

    |Person| n---------->1 |Haarfarbe|
    Personen dürfen in diesem Beispiel genau eine Haarfarbe haben und jede Haarfarbe darf selbstverständlich mehreren Personen zugeordnet werden.

    Person(P_ID,name,..., F_ID)
    // F_ID ist Fremdschlüssel zu Haarfarbe, P_ID ist Primärschlüssel, somit kann jede Person nur einmal vorkommen und eine Haarfarbe haben

    Haarfarbe(F_ID,bezeichnung,...)

    Der Fremdschlüssel steht hierbei immer in der Tabelle, welche das n in der Beziehung beider Tabellen hat (hier also eine Haarfarbe hat mehrere Personen bzw. umgekehrt ausgedrückt zu n Personen gehört jeweils genau eine Haarfarbe)


    Beispiel einer 1:1 Beziehung:

    |Person| 1---------->1 |Haarfarbe|
    Eine 1:1 Beziehung ist im Prinzip eine 1:n Beziehung und kann nicht eindeutig durch Fremdschlüssel dargestellt werden. Man benötigt hier dann noch sogenannte Contraints (UNIQUE) oder Trigger die dafür sorgen, dass der Fremdschlüssel Wert nur einmalig zugeordnet werden kann.

    Person(P_ID,name,..., F_ID)
    // F_ID ist Fremdschlüssel zu Haarfarbe, P_ID ist Primärschlüssel, somit kann jede Person nur einmal vorkommen und somit genau eine Haarfarbe haben, Trigger oder Contstraints müssen verhindern, dass die Farbe mehreren Personen zugeordnet wird

    Haarfarbe(F_ID,bezeichnung,...)


    Details zu obigen Beziehungen findest du auch hier: http://de.wikipedia.org/wiki/Kardinali…modellierung%29

    Neben diesen recht einfachen Beziehungen gibt es noch komplexere Sachverhalte, wie z.B. ein Vorgesetzter der gleichzeitig selbst Vorgesetzte hat und auch zu den Mitarbeitern zählt (Rekursion)
    Details zur Rekursion und einigen anderen speziellen Beziehungen findest du hier: http://www.luo-darmstadt.de/wiki/index.php…lle_Beziehungen

  • Eigener Dateipfad

    • misterspeed
    • 9. Mai 2013 um 18:35

    @autoitexe ist aber wie masterRobb bereits richtig festgestellt hat nicht zielführend bei unkompilierten scripten und daher zum testen der Funktionen, welche darauf angewiesen sind den korrekten Scriptfad zu kennen ungeeignet. Das Makro gibt nunmal nicht den Scriptpfad, sondern den des Interpreters zurück, welcher "zufälligerweise" bei kompilierten Scripten die exe selbst ist.

    Diese Makros dürften vermutlich in den meisten Fällen eher hilfreich sein:

    [autoit]


    #cs
    @ScriptDir ; Verzeichnis des laufenden Skriptes (beinhaltet keinen abschließenden Schrägstrich/Backslash)
    @ScriptName ; Langer Dateiname des laufenden Skriptes.
    @ScriptFullPath ; Gleichbedeutend mit @ScriptDir & "\" & @ScriptName
    #ce

    [/autoit][autoit][/autoit][autoit]

    If @Compiled Then
    MsgBox(0,"",@ScriptDir & @CRLF & @ScriptName & @CRLF & @ScriptFullPath & @CRLF)
    Else
    ConsoleWrite(@ScriptDir & @CRLF & @ScriptName & @CRLF & @ScriptFullPath & @CRLF)
    EndIf

    [/autoit]
  • MySQL Tabelle über PHP in Listview?

    • misterspeed
    • 9. Mai 2013 um 16:22

    Woran happerts denn? Gibt es den PHP Teil überhaupt schon? Wenn nein solltest du wohl erstmal in einschlägigen PHP Foren anfangen dich schlau zu machen. Wenn ja, dann fehlt hier nur noch eine Info von dir wie die Daten strukturiert sind ( json / xml / sonstiges ) die deine PHP ausgibt und wie diese abgerufen werden können, sprich url und GET/POST Parameter, möglicherweise vorgeschaltete Authentifizierung usw.

    Ansonsten seh ich wenig Chancen, dass dir hier jemand helfen kann.

  • Frage zur sqlite UDF

    • misterspeed
    • 8. Mai 2013 um 17:33

    Danke, scheint also nicht wirklich ein Problem zu sein.

  • Abfrage einer MS SQL 2008 DB mit Autoit

    • misterspeed
    • 8. Mai 2013 um 16:01

    Erstmal deklarierst du die Variable Listview lokal, das hat automatisch zur Folge, dass deren Inhalt verloren ist sobald du die Funktion verlässt. Bem nächsten Aufruf der Funktion ist die Control ID des "alten" Listviews also weg und das Listview kann auch nicht mehr gelöscht werden.

    Lösung:

    Deklariere deine Variable einmalig global (ausserhalb einer Funktion). Sobald du die Funktion suche() aufrufst löschst du das Listview (es ist egal ob überhaupt eins existiert oder die Variable noch leer ist) und erzeugst es dann neu. Achte darauf, dass die Variable $Listview nicht mehr in der Funktion deklariert wird (weder lokal noch global), da du durchs Deklarieren zusätzlich den Inhalt löschst. Nun sollte die ID des Listviews wie gewollt immer in der globalen Variable landen.

  • Frage zur sqlite UDF

    • misterspeed
    • 7. Mai 2013 um 21:04

    Hat jemand von euch Erfahrung damit wenn mehrere eigene Prozesse auf eine gemeinsame sqlite DB zugreifen sollen? Sorgt sqlite dafür, dass die Daten auch bei "zeitgleichen" schreibvorgägngen konsistent bleiben, bzw ist ein zeitgleicher Schreibzugriff überhaupt möglich oder wird die Datei exklusiv gesperrt? Sollte die Datei gesperrt werden... wie lange wird sie gesperrt? solange eine Instanz die DB geöffnet hat oder nur während einem Schreibvorgang? Was wäre die Konsequenz wenn eine zweite Scriptinstanz Daten ändern will? Wirft sqlite einen Fehler, oder wird einfach kurz abgewartet und der Schreibvorgang dann problemlos leicht verzögert ausgeführt?

  • Abfrage einer MS SQL 2008 DB mit Autoit

    • misterspeed
    • 7. Mai 2013 um 16:57

    Würde dir auch nahelegen das gleich in das erste Select mit reinzupacken, aber wenn dir das zu verschachtelt und kompliziert ist spricht ja nix dagegen ein zweites recordset object für eine weitere Abfrage anzulegen. Mal an deinem Beispiel orientiert:

    [autoit]


    $conn = ObjCreate("ADODB.Connection");
    $DSN = .... "Anmeldedaten am Server";
    $conn.Open($DSN) ; Verbindung wird aufgebaut

    [/autoit][autoit][/autoit][autoit]

    $rsMain = ObjCreate("ADODB.RecordSet");
    $rsMain.Open("SELECT * FROM BEGLEITSCHEIN where BGSNR ='" & $Suchbegriff & "';", $conn); ab hier habe ich mein Suchergebnis

    [/autoit][autoit][/autoit][autoit]

    If $rsMain.RecordCount Then
    While Not $rsMain.EOF
    ;..... hier bestücke ich die Listview
    $rsSub = ObjCreate("ADODB.RecordSet");
    $rsSub.Open("SELECT * FROM AndereTabelle where irgendeineIDspalte = " & $rsMain.fields("ID").value & ";", $conn)

    If $rsSub.RecordCount Then
    While Not $rsSub.EOF
    ; hier dann wieder rsSub Ergebnis auslesen
    wend
    endif
    wend
    endif

    [/autoit]


    In deinem Fall ist aber doch eigentlich ein join genau das was du willst oder nicht? Also doch alles problemlos über eine SQL Abfrage machbar:

    [autoit]

    $rsMain.Open("SELECT * FROM (BEGLEITSCHEIN bg, AndereTabelle at) where bg.BGSNR ='" & $Suchbegriff & "' AND bg.ID = at.irgendeineIDspalte ;", $conn); ab hier habe ich mein Suchergebnis

    [/autoit]
  • ISN AutoIt Studio

    • misterspeed
    • 6. Mai 2013 um 17:14
    Zitat von ISI360

    misterspeed:
    2. Projektbaum
    Bitte ein Beispiel

    Im Moment schaut das so bei mir aus:
    [Blockierte Grafik: http://i.imgur.com/ncStIHD.png]

    Schöner wäre es wie gesagt, wenn das primär nach Dateityp sortiert wäre, wobei au3 Dateien grundsätzlich als erstes aufgelistet werden sollten und als weiteres Kriterium alphabetisch innerhalb der Dateityp "Gruppen" sortiert wird. Als Beispiel mal der Projektbaum von Eclipse, hier stehen java Dateien am Anfang, sind alphabetisch sortiert und werden von weiteren Dateitypen gefolgt:
    [Blockierte Grafik: http://i.imgur.com/8NPI3lm.png]


    Zu 1.) und 5.)
    Danke werd ich mal testen, wusste nicht, dass man das global einstellen kann.

    Und zu guter letzt natürlich nochmals Danke und Respekt für das was du hier leistest. ;)

  • Millisekunden in Sekunden umrechnen??

    • misterspeed
    • 5. Mai 2013 um 08:20
    Zitat von chesstiger
    [autoit]


    Func _MSToSec($iTime)
    Return $iTime / 1000
    EndFunc

    [/autoit]


    Sofern die Angabe in Sekunden auf Ganzzahlen gerundet werden soll, wovon ich ausgehe wäre das hier die bessere Lösung:

    [autoit]


    Func _MSToSec($iTime)
    Return round( ($iTime / 1000) , 0 )
    EndFunc

    [/autoit]
  • ISN AutoIt Studio

    • misterspeed
    • 4. Mai 2013 um 16:41

    Sorry, dass ich nach meinen letzten Änderungswünschen nichts mehr dazu geschrieben habe. Hatte leider erst heute Zeit mir die aktuelle Version anzusehen. Erstmal vielen Dank für die Änderungen. Einige Dinge wurden allerdings noch nicht geändert/gefixt, daher möchte ich diese nochmal kurz auflisten:

    1. Skriptbaum
    - Variablen ohne Deklaration werden nicht gefunden, z.B. eine globale Variable am anfang ohne dim/global davor (ok das ist so auch unschön)
    - Speichern des Scripts klappt alle Punkte des Scriptbaums wieder auf, anstatt die alte Klappeinstellung nach dem Update des Baums wiederherzustellen

    Zitat

    Bugfix: Nachträglich aufgeklappte Elemente im Skriptbaum bleiben nun wieder geöffnet wenn zb. gespeichert wird


    Bei mir nicht, bzw zugeklappte Elemente bleiben nicht zugeklappt, es werden nach dem Speichern per "Disketten-Button" nachwievor alle Elemente aufgeklappt und zum Ende des Baumes gescrollt.

    2. Projektbaum

    Zitat

    Bugfix: Im Projektbaum werden Dateien nun richtig sortiert


    Sie werden jetzt alphabetisch sortiert, primär nach typ und sekundär alphabetisch wäre mir aber lieber.

    3. "Alle Tabs schliessen" fehlt (alle speichern gibt es...)
    Danke fürs einbauen, aber leider gibt es damit massive Performance Probleme (siehe unten)

    4. Verhalten bei vielen offenen Tabs
    + Fix für 20 tabs Array Fehler ist ok
    - Leider gibt es nachwievor massive Performance Probleme beim Öffnen vieler tabs in kurzer Zeit
    - Das wechseln zwischen den Tabs ist teilweise extrem langsam und blockiert nach wenigen Tabwechseln für mehrere Minuten (scheinbar kein Caching der Scriptbäume?)
    - "Alle tabs schliessen" blockiert ebenfalls / ist langsam, weil die Tabs der Reihe nach angezeigt werden bevor sie letztlich geschlossen werden
    - Mögliche Lösung: Caches für die Scriptbäume aller offenen Dateien und eine Auslagerung der Scriptbaum Erstellung in separaten "Rechenprozess" damit die GUI weiterhin nutzbar bleibt, auch wenn Teile wie der Scriptbaum noch am laden / aktualiseren sind

    Mein Test 20 Tabs per "Alle Tabs schliessen" zu schliessen dauerte 8min:

    Code
    15:31:21  Tabs werden geschlossen... 
    15:31:21  Schließe Datei... (editor.au3) 
    15:31:26  Schließe Datei... (Deklarationen.au3) 
    15:31:31  Schließe Datei... (debug.au3) 
    15:31:32  Schließe Datei... (Credits.au3) 
    15:31:33  Schließe Datei... (copy.au3) 
    15:31:34  Schließe Datei... (ColorChooser.au3) 
    15:31:35  Schließe Datei... (bugtracker.au3) 
    15:31:48  Schließe Datei... (APIConstants.au3) 
    15:39:06  Schließe Datei... (_WinTimeFunctions.au3) 
    15:39:06  Schließe Datei... (_WinAPI_GetSystemInfo.au3) 
    15:39:07  Schließe Datei... (_WinAPI_GetPerformanceInfo.au3) 
    15:39:09  Schließe Datei... (_SciLexer.au3) 
    15:39:10  Schließe Datei... (_PDH_TaskMgrSysStats.au3) 
    15:39:10  Schließe Datei... (_PDH_ProcessGetRelatives.au3) 
    15:39:11  Schließe Datei... (_PDH_ProcessCounters.au3) 
    15:39:12  Schließe Datei... (_PDH_ProcessAllCounters.au3) 
    15:39:14  Schließe Datei... (_PDH_PerformanceCounters.au3) 
    15:39:15  Schließe Datei... (_PDH_ObjectBaseCounters.au3) 
    15:39:16  Schließe Datei... (_ChatBox.au3) 
    15:39:16  Schließe Datei... (_ButtonHover.au3)
    Alles anzeigen


    5. Projekteigenschaften ändern

    Zitat

    Ändern der Hauptdatei ist nur in der Projektverwaltung möglich. Daran wird sich nichts ändern.

    Nochmal kurze Erläuterung, warum mich das stört:

    Wenn ich in meinem projekt regelmässig eine neue MyTool_v1.x.au3 (aktuelle Version) anlege möchte ich diese natürlich mit F5 starten können und nicht weiterhin die Vorgängerversion ausführen. Dazu muss aber zunächst in der Projektverwaltung die Hauptdatei geändert werden. Prinzipiell wäre es mir ohnehin lieber wenn F5 grundsätzlich den Quellcode des aktuell geöffneten / angezeigten Tabs ausführt anstatt der Hauptdatei. Oder eben wenn es einen bequemeren und direkteren Weg gäbe die Hauptdatei zu ändern (z.B. Makro-Button "aktuelle Datei als Hauptdatei" festlegen)

  • Problem mit der neuen SciTE-Version

    • misterspeed
    • 4. Mai 2013 um 14:53

    http://www.scintilla.org/ScintillaHistory.html

    Alternativ ist vielleicht auch das hier für dich interressant: https://autoit.de/index.php?page=Thread&amp;threadID=29742
    Meiner Meinung nach auch im jetzigen Entwicklungsstand schon deutlich umfangreicher als Scite. Soweit ich mich erinnere kann man auch ein automatisches Speichern (Backup) in Intervallen einstellen.

  • GUIGetMsg für "fremde" GUI

    • misterspeed
    • 3. Mai 2013 um 21:34

    Oder alternativ eben vermeiden, dass Scripte sehr lange in Funktionen festhängen. Je nach Fall wäre es vielleicht sinnvoll die zeitintensive Funktion als eigenen Prozess auszulagern und in der GUI Schleife zusätzlich zu den gui Messages auch zu prüfen ob der externe Rechenprozess schon fertig ist bzw. die Zwischenergebnisse des Prozesses regelmässig auslesen.

  • Abfrage einer MS SQL 2008 DB mit Autoit

    • misterspeed
    • 3. Mai 2013 um 20:16
    Zitat

    Gibt es eine Möglichkeit die Metadaten abzufragen. Hier steht ja eigentlich alles drin, was mich erst mal interssiert

    Genau das machen die beiden Funktionen "fields.count" bzw. "(index).name". ;)

    Ist doch klar, dass du 2 leere Msgboxen bekommst, weil es keine spalte 4 und 5 gibt. Im moment machst du deine SELECT Abfrage und durchläufst alle REIHEN (5 Stück) des Ergebnises, das hat prinzipiell nichts mit den Spalten zu tun.
    Du musst vor deiner Auswerung des eigentlichen SELECT erstmal schauen wieviele Spalten es gibt und bei Bedarf auch wie diese heißen. Danach kannst du weitere SELECT Abfragen machen und sofern notwendig auch dynamisch durch die zuvor ausgelesenen Spaltennamen erzeugen.

    Ich habe zwar weder eine DB noch die benötigten Includes, aber theoretisch sollte das so ausschaun:

    [autoit]


    $rs = ObjCreate("ADODB.RecordSet")

    [/autoit][autoit][/autoit][autoit]

    $rs.Open("SELECT * FROM TEILNEHMERTYP", $conn, 1, 3)

    [/autoit][autoit][/autoit][autoit]

    $spalten = $rs.fields.count ; die anzahl der Spalten ermitteln
    for $i = 0 to $spalten-1
    consolewrite("Spalte " & $i & ": " & $rs($i).name & @crlf) ; die Namen der Spalten auslesen
    next

    [/autoit][autoit][/autoit][autoit]

    ; dein SELECT Ergebnis zeilenweise durchgehen und ausgeben
    While Not $rs.EOF
    ; alle Werte aller Spalten der aktuellen Zeile ausgeben
    for $j = 0 to $spalten-1
    consolewrite($rs.fields($j).value & @TAB)
    next
    consolewrite(@crlf)
    $rs.MoveNext
    wend
    $rs.Close

    [/autoit]
  • Abfrage einer MS SQL 2008 DB mit Autoit

    • misterspeed
    • 3. Mai 2013 um 14:37
    Zitat von HassanMullah

    2. Möchte ich dann gerne das Ergebnis runterstrippen auf die Werte, die mich interessieren und diese dann in der GUI ausgeben. Was für ein Controll macht hier am meisten Sinn ?
    Also die Ausgabe anstelle von "ConsoleWrite" in ein Controll,

    Für Tabellen eignen sich prinzipiell ListView Controls, da du hier wunderbar 2D-Strukturen, also mehrere Spalten und Zeilen darstellen kannst. Wenn dich hingegen nur die Inhalte von jeweils einer Tabellenspalte interessieren ist eine Combobox oder Listbox vielleicht die richtige Wahl. Prinzipiell könnte man auch multiple Comboboxen für die Darstellung mehrerer Spalten verwenden, jenachdem was du bezwecken willst.

    Was die Informationen der kompletten Tabelle angeht... du kannst zum einen die Anzahl der Spalten als auch deren Namen aus der Ergebnistabelle ermitteln. Mit diesen Informationen kannst du dann die Daten strukturiert auslesen.

    Code
    colCount=recObj.fields.count  ' to retrieve the no. of columns in recordset
    msgbox(colCount)
    For i=0 to  colCount-1
     msgbox(recObj(i).name) 'to find the coumn names of recordset
    Next

    Siehe auch hier: http://www.geekinterview.com/question_details/30641

  • Problem mit der neuen SciTE-Version

    • misterspeed
    • 3. Mai 2013 um 13:43

    Öhm wie wäre es zuerst zu speichern und dann "sofort" herunterfahren zu klicken? Wer Windows herunterfährt ohne vorher seine Arbeit zu speichern kann auch gleich den Netzstecker ziehen. Klar kann man auch mal vergessen zu speichern, aber das ist dann meiner Meinung nach eben persönliches Pech und zugleich lehrreich (sollte man zumindestens meinen).

    Aber wenn du unbedingt daran rumspielen willst hilft dir vielleicht das hier: http://www.makeuseof.com/tag/3-ways-spe…utdown-process/

    Ansonsten eben:

    - Entwickler von Scite darauf ansprechen
    - Alte Scite Version nutzen, wenn es da wirklich nicht zum selben Problem kam


    Wenn dein Problem mit der automatisch herunterfahrenden Testversion von Windows 7 zusammenhängen sollte würde ich mir aber ernsthaft mal Gedanken machen ob es nicht am sinnvollsten wäre die 50-100€ in die Hand zu nehmen um mir eine legale, uneingeschränkt nutzbare Version zu kaufen. Im Gegensatz zu diversen Spielen hat man von einem Betriebssystem schließlich deutlich länger etwas. Dass Microsoft so nett ist und einen sogar 180 Tage lang kostenlos und ohne Einschränkung testen lässt verdient meiner Meinung nach ebenfalls eine entsprechende Würdigung deren Arbeit, wenn man nach Ablauf der Testphase zufrieden ist.

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™