AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Vollautomatische Spaltenbreitenanpassung in Fenstern
Thema durchsuchen
Ansicht
Themen-Optionen

Vollautomatische Spaltenbreitenanpassung in Fenstern

Ein Thema von Delphi-Laie · begonnen am 14. Apr 2008 · letzter Beitrag vom 23. Nov 2017
Antwort Antwort
Seite 1 von 3  1 23      
Delphi-Laie
Registriert seit: 25. Nov 2005
Hallo Delphifreunde!

Nachdem ich mein Programm bereits dem Delphi-forum.de-Forum (mit bisher sehr bescheiden zu nennender Resonanz) vorstellte, soll auch dieses Forum das Ergebnis meines Fleißes der letzten Wochen, fast schon Monate kennenlernen.

Wen sowohl die in ihrer Breite nie stimmenden Spalten in den Dateianzeigelisten (Detailansicht) als auch die halbherzigen, halbautomatischen Lösungen, diese Breiten zu korrigieren (am besten in Echtzeit jedem Bedarf anzupassen), schon immer so gestört haben wie mich, der möge in meinem kleinen Programm den weltweit anscheinend allerersten Versuch kennenlernen, zur Lösung dieser Problematik eine vollautomatische Lösung zu schaffen.

Sämtliche Details zu meinem - sehr wahrscheinlich immer noch nicht ganz ausgereiften - Programm stehen in den Informationen dazu - aufrufbar nach dem Programmstart.

Für Anregungen, Hinweise, Kritiken, Verbesserungsvorschläge usw. usf. jeglicher Art bin ich offen und dankbar.

Viele Grüße

Delphi-Laie

Edit: Ein subtiler Fehler (der aus unterschiedlichem Verhalten einer API-Funktion in verschiedenen Windows herrührt) ließ das Programm unter ME (generell 9.x?) nicht mehr lauffähig sein. Korrigiert, deshalb jetzt Beta 4

Edit: Inzwischen Beta 7. Letzte Korrekturen:
- Beep bei Enter-Tastendruck (TEdit) abgeschaltet
- Bezeichnung des Registryeintrages verbessert (jetzt vollständiger Name des Programmes anstatt 4 Buchstaben)
- die anscheinend nicht nötige Rekursion bei EnumChildWindows, um skalierbare Fensterelemente gezielt zu suchen, entfernt. Funktioniert trotzdem. SysListView32 und TListView sind anscheinend direkt in die Hauptfenster eingebettet, sodaß die Rekursion überflüssig ist.

Für weitergehende Interessen steht mein Quelltext in der Rubrik "Open Source" zur Verfügung.

Edit: Wiederum böse Fehler im Exe- und im DLL-Projekt gefunden (der eine existierte vorab nicht, keine Ahnung, wie der sich plötzlich einschlich), außerdem die Fensterstatusumschaltung und den Registryzugriff verbessert. Damit jetzt Beta 11.

Edit 2: Inzwischen bis zur Beta 13 vorgedrungen. In der Beta 12 u.a. einen kleinen Fehler beim schreibenden Registryzugriff (.free vergessen) behoben, in der Beta 13 etliche kleine Detailverbesserungen vorgenommen.

Edit 3: Wieder erhebliche Veränderungen, deshalb inzwischen die (Beta-)Versionsnummer um 2 erhöht. Die beiden wichtigsten, auch optisch markantesten Veränderungen (neben vielen weiteren):
- Ermittlung der hinter den Fenstern stehenden Dateinamen nicht nur über Prozeßschnappschup (Routine geht auf Luckies WinInfo zurück), sondern alternativ auch über einen Modulschnappschuß möglich.
- Neben der Inklusiv- kann alternativ auch eine Exklusiv-Dateiliste erstellt und benutzt werden, die aber nicht so zuverlässig wie ersteres arbeitet und deshalb mehr Experimentalcharakter trägt.

Edit4: Nochmals zwei Versionsnummern höher, nunmehr kann als vierte Auslösemethode auch ein Tastendruck (eine der F-Tasten) den Hotkey und damit die Skalierung auslösen, was jedoch nur halbautomatisch ist (ähnlich AutoHotKey), und die Dateilistentypen können separat zu-/abgeschaltet werden. Zudem habe ich noch tüchtig am Code gefeilt und dabei eine ganze Reihe Fehler ausgemerzt.

Edit5: Beta 18 zusätzlich mit optionalem Löschschutz für die Konfigurationsdateien, indem diese offengehalten werden, weil manche Systemreinigungsprogramme auch das Temp-Verzeichnis leeren, kleinen Fehlerkorrekturen und aufgeräumterem Quelltext.

Edit6: Dateinamenseingabeprozeduren verbessert.

Edit 7: Unterschiedliche Schriftgröße(n) der (beiden) Editfelder vereinheitlicht.

Edit 8: Fehler in der Timerprozedur entfernt.

Edit 9: Funktionen zur Ermittlung des Exe-Dateinamens etwas vereinfacht.
Angehängte Dateien
Dateityp: rar AutoSetColumnsWidth - Beta 18 - Quelltexte.rar (27,9 KB, 41x aufgerufen)
Dateityp: rar AutoSetColumnsWidth - Beta 18 - Dateien für Programmbetrieb.rar (169,5 KB, 55x aufgerufen)

Geändert von Delphi-Laie (15. Dez 2010 um 13:18 Uhr)
 
omata

 
Delphi 7 Enterprise
 
#2
  Alt 14. Apr 2008, 21:19
Also wenn ich dein Programm als TrayIcon weglege und es mir wieder ansehen möchte ist dies leider nicht möglich. Es erscheint einfach nichts mehr. schade.

XP, SP2.

Edit: ok scheint nur beim ersten Start zu sein. Bei einem erneuten Start geht es.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#3
  Alt 14. Apr 2008, 21:38
Zitat von omata:
Also wenn ich dein Programm als TrayIcon weglege und es mir wieder ansehen möchte ist dies leider nicht möglich. Es erscheint einfach nichts mehr. schade.

XP, SP2.

Edit: ok scheint nur beim ersten Start zu sein. Bei einem erneuten Start geht es.

Gruss
Thorsten
OK, danke für die erste Reaktion!

Meinst Du, daß die Programmoberfläche nicht wieder erscheint? Das habe ich in seltenen Fällen auch schon beobachtet - Ursache natürlich unbekannt. Dieses Erscheinen und Verschwinden habe ich voll in die Hände bzw. Funktionalität des dänischen Programmierers Troels Jakobsen der - hervorragenden, meine ich - Komponente "CoolTrayIcon" gelegt, die ich dafür verwendet habe. Damit will ich die Verantwortung oder Schuld nicht abwälzen, sondern einfach nur erklären, daß ich an solchen Subtilitäten (zumindest derzeit) nichts herumprogrammieren werde, weil ich es einfach nicht kann (ich bin gerade heute erst an seinem "Simple Timer" gescheitert, und der ist vergleichsweise wirklich noch simpel, trivial). Das übersteigt einfach meine Delphikenntnisse (mein Pseudonym ist wohl leider noch eine ganze Weile mein Motto, leider).
  Mit Zitat antworten Zitat
hoika

 
Delphi 10.4 Sydney
 
#4
  Alt 14. Apr 2008, 22:07
Hallo,

ich hätte die Infos zum Programm bitte aber vor der Installation,

hooks.dll werde ich nicht starten lassen,
ohne zu wissen, was das Programm tut.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms

 
Delphi XE Professional
 
#5
  Alt 14. Apr 2008, 22:33
Hallo

Ich konnte die Funktionalität des Programms leider noch nicht testen, denn ich
bin mit der Bedienung der GUI etwas überfordert. Gibt's irgendwo eine Hilfe Datei?

Die Controls sind etwas etwas unübersichtlich angeordnet.
Thomas
  Mit Zitat antworten Zitat
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#6
  Alt 14. Apr 2008, 23:14
Zitat von toms:
Hallo

Ich konnte die Funktionalität des Programms leider noch nicht testen, denn ich
bin mit der Bedienung der GUI etwas überfordert. Gibt's irgendwo eine Hilfe Datei?

Die Controls sind etwas etwas unübersichtlich angeordnet.
Diese Kritiken (danke dafür!) habe ich umgesetzt und mithin eine externe Beschreibungsdatei mit in das Archiv eingefügt (finde ich auch besser). Außerdem war ein Fehler enthalten, der meine Aussage, daß es unter ME auch läuft, falsch werden ließ. Jetzt müßte es aber unter ME (und, so hoffe ich, auch unter 9.x?!) wieder laufen. Allzu glücklich wird man unter 9.x/ME mit der Verwendung der Hooks allerdings vermutlich nicht werden: Zu instabil, zu fragil, stürzt nach meiner Beobachtung zu schnell ab. Selbst unter den "neuen Technologien" kann das passieren, aber dort läßt sich der Explorer ohne Reboot wieder starten. Dabei habe ich vermutlich nichts allzu falsches gemacht (Detailfehler vielleicht schon), es liegt m.E. einfach an der systemnahen Programmierung an sich, die Microsoft zwar geplant und als für Programmierer anwendbare Option hineinprogrammiert und auch im MSDN offengelegt hat, das aber wohl doch nicht ganz so ernst meinte, denn es wird vor der Verwendung der Hooks "ein wenig" gewarnt, wenn man sich die Seiten durchliest. Insofern kann ich leider für nichts garantieren und diesbezüglich nur dezent warnen. Ich mache mir diesbezüglich auch nichts vor: Wem das Programm sein Windows nur einmal in den Abgrund reißt, der flucht, tituliert es als Mist und wird es vermutlich nie wieder starten (höchstens vielleicht noch dem Timer eine Chance geben, damit läuft es nach meiner Beobachtung sehr stabil, aber diese Ereignisunabhängigkeit ist natürlich ziemlich "unlässig"). Mich hat es aber dennoch gereizt, weltweit erstmalig eine (vollautomatische!) Lösung dieser Lästigkeit zu versuchen und auch vorzustellen, da Mikroweich es bisher ja nicht nötig hatte, dagegen ernsthaft etwas zu unternehmen).

Controls zu unübersichtlich? Das sehe ich auch so, ich habe sie "halbwegs so hingebebberlt", damit eine gewisse Anordnungssystematik vorhanden ist, gleichzeitig aber das Formular nicht zu groß wird. Wenn man sich entschließt, das Programm automatisch starten zu lassen, dann läuft es im Hintergrund, und dann wird einem auch die Oberfläche nicht mehr zu Gesicht kommen.
  Mit Zitat antworten Zitat
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#7
  Alt 15. Apr 2008, 22:23
Zitat von omata:
Also wenn ich dein Programm als TrayIcon weglege und es mir wieder ansehen möchte ist dies leider nicht möglich. Es erscheint einfach nichts mehr. schade.

Edit: ok scheint nur beim ersten Start zu sein. Bei einem erneuten Start geht es.

Gruss
Thorsten
Hallo omata/Thorsten, vielen Dank noch einmal für den Hinweis! Du warst es, der mir die Augen öffnete, wann dieser Fehler überhaupt erscheint und sich damit systematisch reproduzieren läßt. Es war natürlich ein Fehler meinerseits, und ebenso natürlich war/ist Troels Jakobsen daran unschuldig. Ich habe den Fehler sogar gefunden und - hoffentlich - korrigiert. Jedenfalls erscheint das Fenster jetzt auch beim ersten Wiederaufpoppen nach der Konfiguration. Warum habe ich mich anfänglich so unentschlossen gemmacht/gezeigt und unnötig klein gemacht?

Neben diesem habe ich auch ein paar weitere kleine Fehler gefunden. diese korrigiert und das ganze als nunmehr Beta 5 hochgeladen.

Gruß

Delphi-Laie
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#8
  Alt 16. Apr 2008, 09:04
Klingt ja alles irgendwie wirr.

Ich werde mir hier kein Programm runtersaugen (und schon garnicht installieren und starten), von dem ich nicht mindestens eine Beschreibung und einen Screenshot hier gefunden habe.
Klaus E.
  Mit Zitat antworten Zitat
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#9
  Alt 16. Apr 2008, 16:23
Zitat von RavenIV:
Klingt ja alles irgendwie wirr.

Ich werde mir hier kein Programm runtersaugen (und schon garnicht installieren und starten), von dem ich nicht mindestens eine Beschreibung und einen Screenshot hier gefunden habe.
Wirr?

Beschreibung und Screenshot? Wenn es weiter nichts ist.....

Nun, eine m.E. recht ausführliche Beschreibung ist im Archiv enthalten, und der Screenshot ist hier angefügt. Halte ich allerdings nicht für sonderlich aussagekräftig: Das ist kein Programm, das wirklich bedient wird, sondern eigentlich (nur) im Hintergrund agiert (deshalb Trayicon). Das Formular dient "nur" der Konfiguration, dem Einstellen der Funktion(en) bzw. Funktionalität(en).

Im übrigen bin ich nicht ganz so ängstlich, was das Ausprobieren der Programme anderer anbetrifft. Ich gehe vom guten Willen der hier Teilnehmenden aus (auch ich habe mein Programm nach bestem Wissen und Gewissen erstellt) und halte es deshalb für recht unwahrscheinlich, sich hier Malware einzufangen (ist auf diesem Wege bei mir auch noch nie passiert). Vielleicht werden die Attachments sogar von der Websoftware geprüft?! Wenn man diesbezüglich ängstlich ist, dann muß man auf solche Test eben verzichten. Ob hier jemand Bösartigkeiten auf diesem Wege zu verbreiten versucht (oder nicht), wird man auch zuallerletzt am Sreenshot und an den Beschreibungen erkennen!

Viele Grüße

Delphi-Laie

Postscriptum: Das Bemerken der Fehler im eigenen Programm nimmt natürlich kein Ende, aber sie werden zum Glück immer kleiner. Eigentlich wäre schon wieder eine neue Beta (also Nr. 6) möglich.
Angehängte Dateien
Dateityp: rar screenshot_154.rar (13,4 KB, 31x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#10
  Alt 16. Apr 2008, 16:27
Zitat von Delphi-Laie:
Im übrigen bin ich nicht ganz so ängstlich, was das Ausprobieren der Programme anderer anbetrifft. Ich gehe vom guten Willen der hier Partizipierenden aus (auch ich habe mein Programm nach bestem Wissen und Gewissen erstellt) und halte es deshalb für recht unwahrscheinlich, sich hier Malware einzufangen. Vielleicht werden die Attachments sogar von der Websoftware geprüft?! Wenn man diesbezüglich ängstlich ist, dann muß man auf solche Test eben verzichten. Ob hier jemand Bösartigkeiten auf diesem Wege zu verbreiten versucht (oder nicht), wird man auch zuallerletzt am Sreenshot und an den Beschreibungen erkennen!
Mir geht es nicht um Malware.
Es geht mir einfach darum, dass hier viele Programmier-Anfänger ihre Programme vorstellen.
Bei Anfängern kann es schon mal vorkommen, dass aus irgendeinem Grund ein falscher Ordner gelöscht wird.
Das hatte ich alles schon mal.
Das Programm wollte eigentlich in %USER% etwas löschen, es wurde aber wegen einem Programmierfehler in %ALL USERS% gelöscht (oder so).

Und warum hast Du den Screenshot als Bitmap in einem rar-Archiv angehängt?
Hast Du kein Programm, um das bmp in jpg umzuwandeln?
Klaus E.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz