Autor Beitrag
thebe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Di 03.05.05 23:09 
Hi

Ich möchte Euch mal die Alpha Version meines ersten Programmes vorstellen, was nicht für eine spezielle Interessengruppe (die dazu noch sehr klein ist) geschrieben wurde. Es handelt sich um eine Ersetzung oder sollte ich lieber sagen Erweiterung des normalen Clicks mit der rechten Maus unter Windows. Auch wenn ich hier schreibe Rechtsklick mit der Maus, ist es im Moment leider nicht so das das Ding per Maus aktiviert wird, sondern per seperaten Hotkey (STRG+TAB). Ich streube mich immer noch eine Lösung zu benutzen die auf Maushooks zurückgreift aber whatever.

Ziel des Programmes ist es, oft benutzte Dinge wie Links schnell per Rechtsklick parat zu haben und nicht den Desktop / die Favoriten vollzumüllen. Dazu benutzt das Programm das schon vorhandene (und auch eigentlich gar nicht schlechte) Verknüpfungssystem von Windows aus, sprich das Programm liest in einem Verzeichnis alle Verknüpfungen aus und zeigt die entsprechend grafisch an. Die Verknüpfungen (.lnk und .url werden unterstüzt) können auch anhand von Verzeichnissen sortiert werden.

Grafisch gesehen hab ich mich an einem eher Intuitiven Menü orientiert (Wer Sims 2 oder die beliebte Half-Life Mod Natural Selection kennt weiß was ich meine), wo alle Knopfelemente den gleichen Abstand zu Maus haben, sprich kreisförmig drum herum angeordnet sind.

Hier mal ein Bild zu Verdeutlichung:
user defined image

In der Mitte bei der Maus ist immer der Button um das Menü zu schließen bzw. in der Ordnerstruktur ein Ordner zurück zu gehen. Bei normalen Verknüpfungen wird aus den LNK Dateien das Icon dafür ausgelesen und angezeigt, bei .url Verknüpfung wird das Icon was in der URL Datei steht benutzt, wenn nicht das Standard Symbol für URL Dateien. Verknüpfungen die auf Ordner weisen, werden mit dem Ordner Symbol samt Pfeil angezeigt, richtige Ordner (in denen man reinblättern kann) werden ohne Pfeil Symbol angezeigt.

Weitere Grundlegende Sachen:

- WICHTIG: Das Programm kann nur ab Win2k/WinXP richtig funktionieren, unter Umständen kann es sogar sein daß es bei einem älterem System nicht funktioniert. Getestet ist WinXP Home Edition SP 2.

- Das Programm wird gestartet und ein Icon wird in der TNA abgesetzt. Wenn der Hotkey (STRG+TAB) gedrückt wird, wird das grafische Fenster angezeigt. Ein Click aufs rote Kruez in der Mitte minimiert dieses Fenster nur. Komplett schließen kann man das Prog nur über Rechts, bzw. Linksklick aufs TNA Icon.

- Ich hab noch keine Optionen eingebaut, bevor ich mich daran ransetze wollt ich nu erstmal bisserl Feedback über die grundlegende Idee davon haben.

- Das Programm liest den Ordner "Links" aus, in dem Verzeichnis wo es gestartet wird. Sollte dieses Verzeichnis nicht existieren, wird ein neues angelegt, sollte das fehlschlagen, wird sich das Prog mit ner Fehlermeldung verabschieden.

- Bei einem leerem Verzeichnis wird nur der Zurück bzw. der Schließen Button angezeigt.

- Das Programm soll später voll skinbar sein, sprich die Grafiken werden alle per Skin Dateien / Themes geändert werden können. Momentan sind die Grafiken noch als Resource in die Exe ausgelagert, aber das wird sich auch noch änderen wenn die Optionen da sind.

- Zur besseren Unterscheidung was man anklickt (einige Symbole sind ja teilweise gleich, siehe Bild) gibts ein Textbalken unter den Zurück/Schließen Button. Dort sollte man alle notwendigen Informationen entnehmen können.

- Ich WEISS das es illegal ist, das ich in dem Prog WinXP Symbole benutze und weitergebe, wird sich auch noch ändern, nur atm möcht ich nicht mehr hinter Grafikprogrammen sitzen und sowas machen sondern erstmal Feedback hören.

- Teilweise können XP Icons bisserl komisch ausschauen, das liegt daran daß ich nicht weiß wie ich Bitmaps mit PixelType pfDevice einordnen kann ob 32 oder nur 24bit, deswegen eher ne rudimentäre Lösung davon.


Neuerungen die schon geplant sind:

- Natürlich auch erstma ne Möglichkeit das Menü über die Rechte Maustaste (wird wohl STRG+RButton sein) zu starten

- Natürlich erstmal Optionen wo man Verzeichnisse, Skins etc. ändern kann.

- Auflistung von Verknüpfung in Abhängigkeit von den laufenden Prozessen. YaRCR durchsucht dann Verzeichnisse die genauso heißen wie die EXE Dateien die zur Zeit auf dem System laufen. Das wird z.b. recht hilfreich sein wenn man Delphi geöffnet hat und dann Delph Verknüpfungen benötigt und das Standard Verzeichnis nicht überquellt.

- Einbindung einer DLL Schnittstelle, sodaß statt LNK und URL Dateien auch noch DLL Dateien ausgeführt werden können, z.b. das man von einer DLL ins Delphi Fenster etwas schreiben kann oder aber einen "Batch"vorgang von einer DLL ausführen lassen kann.

Sooo lange Rede, kurzer Sinn. Hier ist nun die EXE Datei smilitzer.com/yarcr/YaRCR.zip

Ich würde mich über Feedback und Anregungen tierisch freuen, schließlich erhält sowas die Motivation ;)

- Thebe

PS: Genau den gleichen Text hab ich bei der DP schon reingeschrieben und die Werten Herren haben schon ne abgefangene Exception bemerkt die komischerweise auftritt. Sollte bei Euch das selbe passieren, schreibt mir bitte euer Betriebsystem und den Inhalt vom Links Ordner hier rein. Danke.

[EDIT]
- Berechnung des Kreisradius etwas geringer gestaltet (von 1.2*Breite Button Untergrund zu 1.0). Berechnungsfaktor für den Radius wird mit den Optionen einstellbar sein. Neue Version unter dem alten Link.
- Blättern Funktion eingefügt, maximal werden nu 8 Items atm pro Seite angezeigt damit die Ladezeiten nicht ins unermessliche schießen.
- Es wurde von Fehler mit AlphaBlend auch unter Win2k/WinXP Systemen berichtet. Zu dem Sinn habe ich die AlphaBlend mit Status Nachrichten vollgespickt die eigentlich jeden Fehler beschreiben sollten, sollte so eine Nachricht rausgeschmissen werden, bitte hier gleich reinposten mit Status welches OS/RAM etc. also alles was irgendwie wichtig sein könnte.
[/EDIT]


Zuletzt bearbeitet von thebe am Fr 06.05.05 00:35, insgesamt 2-mal bearbeitet
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 03.05.05 23:18 
Fehler in TLinkList.Create: Cannot create C:\test\icon_0.bmp ... warum braucht das programm diesen ordner?? will ich, dass ein programm wie wild auf meiner festplatte rum dateien erstellt? oO

=> übrigens, dass nur ein leeres symbol angezeigt wird, ohne text.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Di 03.05.05 23:28 
JAWOHL!
Das war ne Testroutine damit ich die Konvertierung von den Icons in 32Bit BMPs direkt an den Files überwachen kann. Das hab ich glatt übersehen zu löschen, danke Dir. Ich konnt mir auch nicht groß was anders vorstellen, irgendwas DUMMES musste es sein.

Neue Version bei altem Link verfügbar.

- Thebe
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 03.05.05 23:31 
error: datei nicht gefunden... 404er.. ;)

edit: oops da war ich wohl zu schnell, war vll noch nicht hochgeladen xD jetzt klappts.

edit: gefällt mir sehr gut! nur: wenn ich meinen arg großen (grade mal 15-20 dateien oO) spiele ordner öffne, wird der kreis so groß, dass er den 3/4 bildschirm einnimmt. ob man wohl eine 2. ebene reinmachen kann? vielleicht kann man auch den algo, der den kreis aufbaut, verschnellern, das dauerte etwa ne halbe bis ganze sekunde... :D ICh geh jetzt ins Bett... Mach mal weiter, ich halt mich aufm laufenden, denn sowas is echt praktisch. hatte früher ein ähnliches programm, das als menü fungierte und sich selbst rekursiv aufgerufen hat, wenn man auf ein untermenü klickte - es erstellte für jedes untermenü eine neue exe datei von sich selbst in einem neuen ordner. unpraktischer als deines! und deines sieht so ... SCHICK aus :D

PS: Lass das teil doch statt an mausposition lieber in der mitte des bildschirms starten, dann die maus dorthin springen, denn sonst passierts mir zu oft, dass ich n großteil des menüs garnicht erreiche.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Di 03.05.05 23:39 
Zitat:

ob man wohl eine 2. ebene reinmachen kann?


Wie ich oben schrieb, kann man in den Links Ordner einen weiteren Ordner reinpacken und somit die Verknüpfungen aufteilen. Man kann sich vorwärts und rückwärts klicken in dem Ding, wenn man in einer höheren Ebene als der ersten ist, wird kein Schließen sondern ein Zurück Button in der Mitte angezeigt.

Zitat:
das dauerte etwa ne halbe bis ganze sekunde...


Sind leider langsame API Funktionen um die Bittiefe der Icons rauszukriegen. Und selbst die die ich momentan benutze funktioniert nicht richtig, ist dafür aber 10x schneller als eine die 100% richtig funzt und dafür für 6 Icons 2-3 Sekunden braucht. Wenn jemand ne Ahnung hat wie ich SCHNELL die Bittiefe von Bitmaps rauskriege ohne DescribePixelFormat bzw. GetObject und OHNE TBitmap.PixelFormat (ist nämlich immer pfDevice), dann lad ich euch herzlich ein mir ne PM mit dem Tipp zu schicken. Ich bräuchte es dringend :)


Zuletzt bearbeitet von thebe am Di 03.05.05 23:49, insgesamt 1-mal bearbeitet
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 03.05.05 23:43 
ich meinte so:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
          o   -   o
       /              \
    o                    o
              o
  /        /     \          \
o        o    o    o         o
  \        \     /           /
              o  2.EBENE
    o                   o  ERSTE EBENE
                        /
       \              /
          o  ----- o

ähm... klar soweit? xD
einen 2. kreis sozusagen. ich habs ja auch so gemacht, mein games ordner ist ein unterpunkt deines menüs. aber ein zu großer. ^^

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Mi 04.05.05 00:00 
Mhm... muss ich mir nochmal überlegen wie man das sinnig macht. Bin ich grundsätzlich nicht abgeneigt zu, hatte schon überlegt die häufigst benutzten Buttons etc. in ner zweiten Inneren Ebene zu machen. Aber ich mach Dir erst mal nen Angebot :)

Der Radius des Kreises war entweder 150 oder aber wenn der errechnte benötigte Radius größer war abhängig von der breite des Button Untergrundes * 1.2. Diesen Faktor werde ich wenn ich Optionen hinzufüge variabel gestalten und habe den Faktor nu auf 1.0 runtergesetzt. So nimmt bei mir ein Menü mit 16 Einträgen nur ca. ein Viertel der Bildschirm Höhe ein (sprich Pi mal Daumen 500 Pixel * 500 Pixel).
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 04.05.05 17:43 
*freu* nun gut, ich bin gespannt auf deine änderungen :D praktisych finds :D

Sagmal, was wird wohl alles in den optionen screen reinkommen?
hab übrigens einen ungültiges Fensterhandle bekommen woraufhin das TNA icon verschwunden ist, das Prog läuft aber noch.. muss noch rausfinden, wann...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
FlameDiver
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 104

WIN XP
D6 Pers
BeitragVerfasst: Mi 04.05.05 20:07 
erstmal ein dickes lob. sehr geiles programm.

währe es möglich so eine art favouriten importer für Firefox/mozilla etc zu schrieben? das währe hilfreich.


edit: das mit der 2ten ebene sollte auf jeden fall kommen
der kreis wird doch etwas größer wenn man 41 oder mehr verknüpfungen hat :D

_________________
From Hell and back again
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 04.05.05 20:17 
das ist wahr, und die zeit, die er benötigt um aufzubauen, ist auch nicht zu klein. kannst du nicht beim start des programms alles berechnen, und eine art refresh funktion einfügen, damit der user, wenn er neue Items zufügt, selbst refreshen kann? Dann würde es doch auch kein Problem sein, das teil automatisch in die mitte des Bildschirms zu setzen, oder?

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Mi 04.05.05 22:28 
Ich bin atm erstmal dabei einzuprogrammieren daß maximal eine bestimmte Anzahl von Items angezeigt wird und das man sich durchklicken kann. Sprich Vor- und Zurückblättern.

Für Favoriten von Firefox/Mozilla müßt ich mal nen Aufbau der Favoriten da haben, ich hab die Dinger nicht auffen Rechner und wollts mir eigentlich nicht neue Browser laden dafür. Wenn ihr mir die Infos gebt, kann ich da gerne was machen.

Optionen Bildschirm:
- Verzeichnis aus dem man lädt (oder aber Browser Favs eben mit Browser Auswahl)
- Skin Dateien (wird nen Skin Editor dann mitgeliefert). In den Skin Dateien wird auch noch einige Sachen wie Zeichentechnik, Aufbau der Linksliste (Quadrat, Kreisförmig, Kreisförmig mit rotieren der Grafiken um den Mittelpunkt, Abstand der BrowseLeft/BrowseRight Buttons zum Mittelpunkt).
- Maximale Buttons pro Page (sprich Grenze ab wann man blättern muss)
- Berechnung des Kreis Radius (minimaler Radius, Faktor vor Radius um den Kreis enger/weiter zu machen.
- Wohl dann auch Aktualisierungsrate wie das Prog im Hintergrund aktualisiert, wird aber wohl eher so alle 5 mins oder vllt Shell Überwachung des Ordners sein. Ma gucken.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 04.05.05 22:38 
ich würde KEINE aktualisierungsrate reinbauen. Grund: Wenn du den Kreis im voraus berechnen lässt, so wie ich meinte, dann wird der user, der grade ein speil zockt, von ziemlichen rucklern geplagt werden...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Do 05.05.05 13:41 
Stimmt auch wieder. Dann muss ich mir das mal angucken das das Programm nur die Verzeichnisstruktur überwacht und ggf. dann die Buttons innen Speicher schmeißt und entsprechend anzeigt wenns benötigt wird. Dann is das auch nit so heftig.

Ich bin ja wie gesagt atm dabei das einzubauen, das man nurne bestimmte Anzahl von Buttons maximal zu sehen kriegt und durch die Buttons sich durch blättern kann. Nu hab ich nen RICHTIG geilen Fehler:

Hab die neuen Buttons zum durchklicken genauso aufgebaut wie die anderen, die fehlerlos funktionieren. Wenn ich nu durchblättern will, kommt nen Fehler das das Bild was ich zum Aktualisieren des Layered Window nehme gar nicht drauf zugreifen kann. Ich habs nicht freigegeben und nichts, trotzdem will er nicht.
Dann kommt noch nen anderer Fehler.

Zitat:

procedure bla
var
PP: PPoint;
begin
New(PP);
PP^.x := irendwas; // Da kann Delphi nicht auf den Pointer zugreifen. Krieg ne AV das ich nicht auf Adresse 00000040 zugreifen kann. Normalerweise funkt es, nur nach dem Blättern nicht mehr.
Dispose(PP);
end;


Ähnlich schaut das beim Bild aus, auf das ich nicht zugreifen kann. Ich schätze mal, mein Arbeitsspeicher wird entgültig nicht mehr vom Mainboard erkannt/falsch ausgelesen.

Hier mal erstma nen Bild davon wie das ausschauen soll.
user defined image

- Thebe
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Fr 06.05.05 00:19 
So...
Neue Version mit der Blättern Funktion is drinne, momentan werden nicht mehr als 8 Einträge pro Seite angezeigt, wird wie gesagt in den Optionen flexibel einzustellen sein.

Link ist der alte geblieben aber zum Spaß hier nochmal: smilitzer.com/yarcr/yarcr.zip

Ausserdem ist komischerweise bei einem Freund von mir ein Fehler aufgetreten, das die AlphaBlend Funktion ne Fehlermeldung "Falscher Parameter" rausschickte, allerdings eigentlich alle richtig sind. Falls sowas bei Euch mal auftritt, schreit mal bitte Bescheid.

Als nächstes wird wohl nebst Bugfixing das Einführen der Optionen sein, ich schätze mal dadurch das nu Restriktion auf 8 Items pro Seite ist die Laderei nen bisserl komfortabler sein sollte.

- Thebe
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 06.05.05 11:23 
schwer geil, danke sowas hab ich gebraucht 8)

Hab schon den ganzen Desktop voll mit links und das ist natürlich mal geil, aber

Zitat:
STRG+RButton
kann etwas schwierig werden, aber mit hooks ist es möglich :wink:


ok man muss immer suchen des ist net ganz sogut, vielleicht sollte man selbst namen reinschreiben können, also menü -> neuer link und dann gleich nen namen eintragen und dann steht der da und wann man drüber geht steht da der link.
Ansonsten TopTool !

gut finde ich auch, dass es das icon der datei übernimmt, vielleicht sollte man es aber noch direkt aber das programm ändern können ?
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: Fr 06.05.05 11:54 
Zitat:
ok man muss immer suchen des ist net ganz sogut, vielleicht sollte man selbst namen reinschreiben können, also menü -> neuer link und dann gleich nen namen eintragen und dann steht der da und wann man drüber geht steht da der link.


Kannst Du das bitte konkretisieren, ich kann Dir da momentan nicht wirklich folgen. Meinst Du das man die Verknüpfungen und deren Namen von YaRCR aus ändern kann ohne über die Shell gehen zu müssen ?

Zitat:
gut finde ich auch, dass es das icon der datei übernimmt, vielleicht sollte man es aber noch direkt aber das programm ändern können ?


Genau das gleiche wie oben, Du meinst man sollte die Icons der Verknüpfungen über YaRCR ändern können ohne über die Shell zu gehen ?

Dane für die Vorschläge

- Thebe
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 06.05.05 12:48 
man sollte namen eingeben können, die man dann sehen kann, dann muss man net jedes anwählen bis man sein gefunden hat 8)
FlameDiver
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 104

WIN XP
D6 Pers
BeitragVerfasst: Fr 06.05.05 12:54 
also bei mir ist bis jetzt noch kein fehler gekommen.

könnte man das so machen das die namen der veknüpfung direkt neben dem link udn auch permanete angezeit werden?
es ist nervig bei den internetverknüpfungen erst immer die richtige zu suchen.
könnte man auch über die optionen einstellbar machen.

mfg

_________________
From Hell and back again
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 06.05.05 13:04 
hab ich doch gerade vorgeschlagen, bzw man gibt denen eigene namen
FlameDiver
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 104

WIN XP
D6 Pers
BeitragVerfasst: Fr 06.05.05 13:11 
oh sorry. den klein post hab ich übersehen.

_________________
From Hell and back again