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

Beiträge von Techmix

  • GUI Programmierung...

    • Techmix
    • 24. Mai 2014 um 11:41

    Hy,
    Ich benutze auch koda zum erstellen der GUI - dadurch fällt das designen leichter ABER sobald ich Contolls zufüge fängt der ärger wieder an... Momentan Arbeite ich mit nem Tab mit 5 Seiten und ich habe mir angewöhnt den Controll-Bezeichnungen die Tabseite zuzufügen "Tab1-Edit" so ist das erweitern etwas leichter.
    Aber durch den Progammumfang habe ich eine Abfrageschleife von fast 800 Zeilen... Füge ich eine Funktion zu, merkt man zur Laufzeit das es so nicht gut zu bedienen ist - und es müssen wieder Änderungen durchgeführt werden. Manchmal bin ich sogar gezwungen Änderungen an Funktionen durchzuführen welche nichts mit der Gui zu tun haben...
    So wird aus einem Konsolenprogramm mit laufenden Funktionen ein entstelltes Konstruckt - Nur weil ich gerne Laufzeitinformationen innerhalb der Gui anzeigen lassen möchte. Der Aufwand ist wirklich immens - bei geringfügigen Fortschritten.

    Und nach einem Monat habe ich mein laufendes Programm so verunstaltet, das ich mich frage ob ich die ganze Sache richtig angehe - oder mein Anspruch wirklich zu hoch ist... Wenn ich mir andere Programme anschaue welche eine Gui haben, frage ich mich wie lange die Entwickler alleine an der Bedinung der Oberfläche gesessen haben...

  • GUI Programmierung...

    • Techmix
    • 24. Mai 2014 um 10:42

    Hallo Community,

    Ich arbeite seit einigen Monaten an einem netten Projekt und habe bereits über 1800 gut lesbare Zeilen zusammengestellt. Aber wie so oft steht einem der persönliche Anspruch böse im wege, und ich fange an eine GUI rund um die vorhandenen Funktionen, sowie allen wichtigen Variablen zu basteln...
    Jetzt beläuft sich der Code schon auf über 2950 Zeilen, und es ist nichtmals Lauffähig... Das ist echt umfangreich... Inzwischen habe ich fast die selbe Zeit für die GUI wie für das eigentliche Programm benötigt.

    Im großen und ganzen muss ich sagen, das die GUI-Programmierung unterschätzt wird - gerade wenn es einigermassen Benutzerfreundlich aber auch umfangreich werden soll... Ausserdem ist auch der Faktor Zeit ausschlaggebend, diese ist bekanntermaßen begrenzt und wenn ich da nachts mich durch die Zeilen wühle bin ich mehr mit geistigen erfassen, dessen Auswertung und Planung - als mit Coden beschäftigt...
    Ich hoffe das ich mein Projekt in den nächsten Wochen ENDLICH fertigstellen kann :rolleyes:

    Habt Ihr auch solche Erfahrungen mit dem erstellen einer GUI gemacht??

    Grüsse!

  • AutoIt WM 2014 Tipp Spiel 12.06.2014 - 13.07.2014

    • Techmix
    • 15. Mai 2014 um 09:58

    Bin auch wieder dabei.
    Viel glück an alle teilnehmer!

  • Berufsunfähigkeitsversicherung als Selbständiger Informatiker, geht das ?

    • Techmix
    • 15. April 2014 um 18:37

    Hallo,
    Ich kann dir, leider nicht helfen aber muss gestehen das solche Syntome anscheinend mit einer Selbststängigkeit verknüpft sind...
    Seit zwei Jahren muss ich um jeden auch noch so kleinen Auftrag kämpfen, ab einen gewissen punkt verliert man einfach jede Perspektive - und fängt an sich Sorgen um seine eigene, und die damit verbundenen Personen, Zukunft zu machen.
    Solche Siturationen schlage auf Dauer ziemlich krass auf die Gesundheit ein! Ich habe mir ende 2012 eine schlimme Herzmuskelentzündung eingehandelt, einfach weil ich endlich wieder einen guten Auftrag bekommen hatte und mir keine Zeit für meine Gesundheit nehmen wollte...
    Das war ein riesen Fehler, so wurde aus einer Woche Krankheit - fast ein Hezinfarkt und einer genesungszeit von 5 Monaten! Und den Auftrag konnte ich auch nicht mehr beenden, und habe diesen und den Kunden verloren!
    In meiner Genesungszeit konnte ich nichtmals ergreifende Filme schauen, sobald Aufregung oder andere intensive Emotionen (Trauer, Stress, Zeitdruck, ...) sich aufzeigten - bekam ich richtig schlimmes Herzrasen bis kurz vor Ohnmacht...

    Im nachherrein gesehen hat mich mein eigener Tatendrang, bedingt duch Selbstständigkeit und damit verknüpfte Existenzsorgen, beinahe komplett Berufsunfähig gemacht...
    Bevor ich diese Schritte unternommen habe war ich berufs Koch und habe mir dort 2 Rückenwirbel ruiniert UND auch noch die rechte Schulter beschädigt. Also ist körperliche Arbeit auch nur noch kurzzeitig und mit Schmerzpräperaten möglich, und dann fange ich mir diesen Mist ein und auch die Selbsttändigkeit stand auf der Kippe...

    Ist halt eben ziemlich blöde gelaufen, aber durch gewisse Existenzängste UND Vorwürfe von dem Finanzamt (Scheinselbstständigkeit bzw. Liebhaberei) hatte ich keine andere Möglichkeit mehr gesehen als über mein Maximum zu gehen. So kann man zwar kurzfristig Arbeiten, aber der Druck ebbt einfach nicht ab!

    Und die Ämter sind in solchen Siturationen wirklich NICHT hilfsbereit! Die Arge meint das mein Gesundheitszustand Rentenwürdig ist und die weisgott keine Ahnung von meinem Tätigkeitsfeld haben - deswegen gibt es keinerlei Weiterbildungen für mich! Ebenso die Krankenkasse und auch die Rentenkasse, die Meinen das ein gelernter Koch doch ERST zertifikate sich für z.B. VisualBasic erarbeiten soll - das ich bereits vor über 10 Jahren schon VB konnte und inzwischen fast ein Duzent Sprachen handlen kann, interessiert niemanden... WAS bleiben einen da für Optionen???

    Also, ich kann dir zwar nicht helfen - aber ich kann dir sagen das dieses ein allgemeines Problem darstellt.

    Viele Grüsse und viel Glück!

    P.s. ist vom Handy getippt, verzeit mir bitte Satzstellung und allgemeine Fehler ;)

  • Desktop Lemmings

    • Techmix
    • 24. März 2014 um 14:10

    Hy,
    Erstmal muss ich sagen das ich echt beeindruckt von deinem script bin!
    Mit 11 jahren habe ich die Lemmings auf meinem Amiga gespielt,
    Und das einzigste was wirklich noch fehlt ist beim beenden dieser "Oh-No" Sound und das die lemmings dann zerplatzen...

    Aber wirklich Cool gemacht!

  • DLLStruct an zweites, kompiliertes Script übergeben - geht nicht...

    • Techmix
    • 19. März 2014 um 18:31

    OK,
    erstmal Danke für die Antworten!
    ABER ich habe jetzt eine Lösung genommen die zwar MEILENWEIT vom Thema abweicht, aber eben funktioniert...
    Mit ner einfachen INI, darin die entsprechenden Daten sichern, auslesen und löschen. Ist einfacher als mich jetzt wieder mit UDF´s wie der NoMadMemory rumzuschlagen.

    Trotzdem währe der Weg mit der Struct eben eleganter - deswegen lasse ich den Präfix noch auf offen!

    Es geht eigentlich darum größere Datenmengen (100kb - 900kb) an den gestarteten Prozess zu übergeben - und das geht nunmal nicht mit der Kommandozeile ;)

    Grüsse!

    [EDIT]
    ..ich werde mir wohl doch noch die 'Exchange Variables' UDF anschauen :D Sieht ganz gut aus...

    [EDIT2]
    Die INI-Befehle haben anscheinend ein Zeichenlimit, es wurden nur Fehler produziert... Also habe ich eine Simple FileRead/Write Methode genommen, komme noch nicht ganz mit der Exchange Variables klar!?! Ich kommuniziere mit momentan 4-8 eigenen Prozessen über ein Master-Script, und da ist die File Variante deutlich einfacher...

  • DLLStruct an zweites, kompiliertes Script übergeben - geht nicht...

    • Techmix
    • 19. März 2014 um 16:48

    ...Argh,
    also unterschiedliche Speicherbereiche??
    Ich dachte immer das die Structs den allgemeinen Speicherbereich nutzen...

    [EDIT]
    Es würde also eher der Umweg über eine externe DLL gehen??
    Die müsste doch nur eine Struct haben - die 1:1 so aufgebaut ist wie in meinem Testscript?!?
    Nur wie realisiere ich dann die variable Stringgröße?

    Grüsse!

  • DLLStruct an zweites, kompiliertes Script übergeben - geht nicht...

    • Techmix
    • 19. März 2014 um 15:26

    Hallo Comunity,
    wie sich der Überschrift entnehmen lässt habe ich ein Problemchen mit der Übergabe einer DLL-Struct an ein anderes, kompiliertes Script.

    Ich hatte bereits mit DLLStructs gearbeitet, und innerhalb des ersten Scriptes funktioniert es auch.
    Erstmal den Code des Start-Scriptes

    ScriptA
    Code
    ;~
    ;~ 	Sender Script
    #RequireAdmin
    
    
    Local _
    	$sFile 		= @ScriptDir & "\ScriptB.exe", _
    	$aString 	= "TestTestTest", _
    	$iMode		= 1, _
    	$iMaximum	= 0, _
    	$str 		= "char sString["&StringLen($aString)&"];int iMode;int iMaximum", _
    	$hStruct 	= DllStructCreate($str)
    DllStructSetData($hStruct, "sString", $aString)
    DllStructSetData($hStruct, "iMode", $iMode)
    DllStructSetData($hStruct, "iMaximum", $iMaximum)
    ;~ $aHandle = ShellExecute($sFile, DllStructGetPtr($hStruct) & "|" & StringLen($aString), @SW_HIDE)	; ScriptB.exe starten, Struct-Pointer und String-Size übergeben
    
    
    
    
    $sString	= DllStructGetData($hStruct, "sString")
    $iMode 		= DllStructGetData($hStruct, "iMode")
    $iMaximum 	= DllStructGetData($hStruct, "iMaximum")
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$sString' & @lf & @lf & 'Return:' & @lf & $sString) ;### Debug MSGBOX
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$iMode' & @lf & @lf & 'Return:' & @lf & $iMode) ;### Debug MSGBOX
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$iMaximum' & @lf & @lf & 'Return:' & @lf & $iMaximum) ;### Debug MSGBOX
    
    
    $aHandle = ShellExecute($sFile, DllStructGetPtr($hStruct) & "|" & StringLen($aString), @SW_HIDE)	; ScriptB.exe starten, Struct-Pointer und String-Size übergeben
    
    
    Do
    	Sleep(2)
    Until not ProcessExists("ScriptB.exe")
    Alles anzeigen


    ScriptA erstellt die Struct und Startet das kompilierte ScriptB:

    ScriptB
    Code
    ;~
    ;~ 	Empfänger Script - Kompilieren!
    
    
    if @Compiled Then
    	if $CmdLine[0] >= 1 Then
    		Dim _
    			$Temp = StringSplit($CmdLine[1], "|", 1), _		; Pointer & Size werden empfangen
    			$hDll = $Temp[1], _
    			$iSize = $Temp[2]
    		Dim _
    			$str		= "char sString["&$iSize&"];int iMode;int iMaximum", _	; Struct definieren, die Size für den $sString
    			$hData		= DllStructCreate($str, $hDll), _						; Struct erstellen und Daten aus dem Pointer verwenden
    			$sString	= DllStructGetData($hData, "sString"), _
    			$iMode 		= DllStructGetData($hData, "iMode"), _
    			$iMaximum 	= DllStructGetData($hData, "iMaximum")
    			MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$sString' & @CRLF & @CRLF & 'Return:' & @CRLF & $sString) ;### Debug MSGBOX
    			MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$iMode' & @lf & @lf & 'Return:' & @lf & $iMode) ;### Debug MSGBOX
    			MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$iMaximum' & @lf & @lf & 'Return:' & @lf & $iMaximum) ;### Debug MSGBOX
    	EndIf
    EndIf
    Alles anzeigen

    Entweder gibt ScriptB total falsche Werte aus, oder es stürzt sofort ab... Nur ist mir nicht ganz klar wieso?!?
    Anscheinend übergebe ich die Struct falsch, oder ich baue diese in ScriptB falsch auf.

    Momentan weiß ich mir nichtmehr zu helfen... Ich hoffe Ihr könnt mir auf die Sprünge helfen :D

    Grüsse!

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • Techmix
    • 12. März 2014 um 10:06

    Nochmal mein System detalliert:

    Standart:
    MB Asus P6T So.1366, P6T-SE mit CrossFlash Bios zu P6T - wegen SLI-Nutzung, 2x PciE x16 (Max 36 Lanes auf 3x Pci x16)
    CPU i7-920 Bloomfield, 4 Kerne 8 Threads, 4x256Kb-L2 8MB-L3 (2660Mhz, 133x20, 2793Mhz Turbo)
    GPU 2x Zotac GTX 460 AMP! 1GB-DDR5 (810Mhz GPU, 1620Mhz Shader, 2000Mhz Ram)
    RAM 6GB DDR3-1066 Kingston DualChanel RAM 3x2GB (7/7/7-20)
    NT 850W BeQuiet Netzteil
    Und eben noch 2 HDD´s...
    [Blockierte Grafik: http://i61.tinypic.com/2db9xdi.png]

    Overclocked:
    CPU @3200Mhz, 160*20, 3360Mhz Turbo
    RAM @1282Mhz (8/8/8-24)
    GPU @870/1740/2200
    CPU Overclocked:
    [Blockierte Grafik: http://i58.tinypic.com/20acf1u.png]
    CPU & GPU Overclocked:
    [Blockierte Grafik: http://i62.tinypic.com/jsja69.png]

    Andy: Ah, danke für die Erklärung! ...langsamm begreife ich was der gravierende Unterschied zwischen Threading und OpenCL ist.
    Das die Unterschiede der Architekuren bei CPU und GPU Auswirkungen auf bestimmte Berechnungen nimmt - Dachte ich mir bereits.
    Deswegen hatte ich auch gefragt ob CPU & GPU in OCL auch gemeinsam Arbeiten können (ALL), aber ist es auch möglich mehrere OCL-Kernel gleichzeitig laufen zu lassen? Also ob einer auf GPU und ein weiterer auf CPU zeitgleich Starten und unterschiedliche Aufgaben Abarbeiten können - oder begrenzt das der interne DLL-Call 'opencl.dll'?
    Ohne das ich jetzt auch nur einen Blick auf die SDK´s geworfen habe, entstehen schon viele kleine Ideen für nette Funktionen!
    Werde mich mal am WE mehr in die Materie einlesen, und dann einige Versuche mit OpenCL starten.

    Aber eins muß ich noch Fragen, ich weiß das der OCL-Kernel zur Laufzeit Kompiliert wird, wird dieser jetzt Zentral 'verwaltet' oder bekommt jede 'Recheneinheit' seinen eigenen Kernel zugewiesen - oder sogar individuell kompilierte Kernel???

    Grüsse!

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • Techmix
    • 11. März 2014 um 16:59

    Ok, dann kann es an der OpenCL-Version liegen die Andy verwendet.

    ...also mit Multi-GPU Nutzung noch etwas warten :)

    [EDIT]
    Mars: ...ich habs befürchtet... Muss mich wohl mehr in die OCL Materie einlesen, hatte das mit dem Multithreading schon recht spät für mich entdeckt, und erst jetzt die Paralysierung :D

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • Techmix
    • 11. März 2014 um 16:49

    Habe eben kurz den Mandel Test durchlaufen lassen.
    Ohne SLI: 378 Punkte,
    Mit SLI: 379 Punke...

    Also kein SLI mit OpenCL!?! Ich habe erwartet das OpenCL intern die GraKa´s 'Clustert'.

    @Marsi:
    Das ist ja nur ein Beispiel wie ich in FP mit 4 Threads gearbeitet habe - aber die Durchführung ist ja unabhängig voneinander, also gut Paralysierbar, oder habe ich mit der Paralysierbarkeit das total falsch Verstanden?!?
    Gibt es eigentlich unterschiede zwischen den CPU und der GraKa innerhalb der Berechnungen? Ich meine jetzt ob z.B die CPU Stringopperationen grundsätzlich schneller als die GPU ausführt. Weil eine GPU ist ja eigenlich eher für Mathematische Opperationen gebaut...

    Fragen über Fragen ;)

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • Techmix
    • 11. März 2014 um 15:26
    Zitat

    Es lassen sich alle gut parallelisierbaren Algorithmen durch OpenCL beschleunigen. Leider trifft das für die Mehrzahl der Packer nicht zu :huh: Deren Algorithmen sind eben nicht gut parallelisierbar...

    Aha...
    Ich Dachte es würde auch so gehen:
    Ich hatte vor einigen Jahren mal eine Kompressionsroutine in AU3 geschrieben, relativ langsamm, mieser Skill, eben alt - diesen habe ich auch in Freebasic portiert, die Kompressionsroutinen verbessert und auf Multithreading umgestellt. Habe mich auch relativ intensiv mit FB & Threading beschäftigt, und mich dafür entschieden das die Threadfunktion 'in sich geschlossen' geschrieben deutlich schneller Arbeiten (brauche keinen Mutex).
    Um es etwas aufzuschlüsseln... Wenn ich eine Datei komprimieren will, zerteile ich diese in z.B. 16KB grosse Stückmengen welche ich in einzelnen Structs lege, ermittel die Threadanzahl, und starte diese. Sobald ein Thread fertig ist wird dieser sofort wieder mit einer anderen Stückmenge gestartet. Sind alle Stückmengen abgearbeitet werden die Structs wieder zusammengefügt. So erreiche ich eine imense Geschwindigkeit, habe aber nicht die 100%ige Kompressionsrate wie im Single-Thread Modus - das ist einfach durch die Zerteilung begründet...
    In OpenCL währe es also nicht möglich, dieses so ähnlich auf der GraKa (sonst kann man ja normales Threading verwenden) zu berrechnen? Ich Denke wenn man seinen Kernel nach einer ähnlichen Weise schreibt (wie eben in FB OHNE Mutex) sollte es doch möglich sein - kenne mich leider viel zu wenig mit OpenCL aus, sonst würde ich es versuchen :D

    Grüsse!

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • Techmix
    • 11. März 2014 um 10:53

    Hallo,
    ich wollte mich hier auch mal einklinen.
    Erstmal meine Ergebnisse:
    Cpu: i7 920
    Gfx: 2 x Gtx 460 AMP (SLI)
    (Grafik wollte nicht ...versuche es später nochmal)
    CPU: 75 Speed
    Gfx: 300 & 299 Speed

    Soweit bin ich ganz zufrieden mit dem Ergebniss.

    Aber zu dem Source, ich hatte damit einige Experimente gemacht und bei der Verwendung von '_CL_GetDevice()' ist es irritierend das die Angabe 'ALL' die nächst erreichbare Hardware darstellt - und eben nicht die gesammte Hardware.
    Währe es eigentlich möglich einen Kernel auf CPU & Gfx laufen zu lassen?
    Und wie verhällt sich OpenCL bei einem SLI-System? Werden überhaupt beide Karten angesprochen, oder nur eine davon??

    Wenn ich mir den Mandelbrotflug in OpenCL (über Gfx) anschaue - und anschliessend den Flug in AU3... Das ist so ein gewaltiger Unterschied! Wow!!
    Aber ich habe grad mal vielleicht 20% der Kernel (und dessen Befehle) verstanden... Das soll doch C sein - oder nicht?!? (Ahhhh, sind doch SDK-Befhele...) Da muss man sich wirklich einlesen...
    So wie ich das sehe sollte es doch auch möglich sein den 7zip Algorythmus nach OpenCL zu portieren, dieser Funktioniert eh schon mit Multi-Threading. In OpenCL könnte das doch auch von der GraKa erledigt werden, oder??

    Grüsse!

    [EDIT]
    Mir fiel grade auf das die GraKa von Blume (Geforce 9800 GTX+) einen Speed von 621 hat, meine GTX 460 AMP (toppt eine GTX 470) bekommt nur einen Speed von knapp 300 Punken... Meine Karte ist doch deutlich Leistungsfähiger, ist der Punktevorsprung tatsächlich NUR durch die 'Compute Units' begründet (seine hat 16, meine nur 7)?!?

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 19:46

    hat sich erledigt!

    @Name: brauchst du nur den cpu, oder auch das zugehörge zeugs (mainboard kühler lüfter)?

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 18:56

    Hy,
    was wollt ihr beide denn dafür haben?

    Oscar ich glaube nicht das das ein grossen unterschied macht...

    grüsse!

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 14:16

    währe super,
    wenn sich bis dahin kein weiterer meldet.

    grüsse!

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 13:34

    wenn das eine sli brücke, und kein crossfire, ist - scheint das ziemlich genau das zu sein was ich suche!

    schau mal nach ob du sie findest, und mach dir gedanken was du dafür willst - und dann meld dich bitte wieder ;)

    grüsse!

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 12:56

    Prima,
    nur leider haben meine gtx460 jeweils nur einen sli anschluss - deine hat 2 je karte...

    grüsse!

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 12:34

    Hihi Crossfire...
    wenn die teile übrigbleiben kannst du diese gerne bekommen! die bekommst du dann für porto & verpackung.

    grüsse,
    ...und weiteres hoffen auf ein sli kabel :)

  • Suche SLI Brücke

    • Techmix
    • 27. Februar 2014 um 10:12

    wenn du den pentium haben möchtest, und keiner diesen zum tausch möchte, kannste ihn haben! habe auch noch den kühler und lüfter dazu - auch noch ein passendes medion board. musst mir nur sagen was du brauchst!

    grüsse!

    ps:
    die sli preise sind sowas von verschämt....

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™