Autor |
Beitrag |
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 25.10.08 16:26
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Sa 25.10.08 22:10
littleDave hat folgendes geschrieben : | Also ich hab mir den Screenshot mal angeschaut und konnte leider nicht sagen woran das liegt. Der Screenshot könnte Win2000, aber auch WinME sein (wie Yogu bereits gesagt hat). WinME kann ich mir irgendwie nicht vorstellen, da mein Programm die Funktion "UpdateLayeredWindow" benutzt und diese laut MSDN erst ab Windows 2000 vorhanden ist.
Aber nochmal zu dem Screenshot: Kann es sein, dass der Desktop auf 16-Bit Farbtiefe gelaufen ist? Das könnte das Problem vielleicht erklären. Jedoch möchte ich da keine Garantien abgeben, da ich keine Möglichkeit habe, das Programm unter Windows 2000 zu testen. Yogu hat die Möglichkeit, jedoch hab ich noch keine Info von ihm bekommen, dass etwas falsch dargestellt wird (oder ich hab die Info gerade vergessen ). |
Egal, welche Farbtiefe ich einstelle - ob 32 oder 16 Bit, oder sogar 256 Farben - bei mir entstehen keine Schleier. Alles läuft perfekt, bis auf selbstverständliche Farbverluste.
PS: Das neue Widget ist großartig. 
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Sa 25.10.08 22:41
Hidden hat folgendes geschrieben : | littleDave hat folgendes geschrieben : | Hidden hat folgendes geschrieben : | PS: Beim Shutdown-Widget ist der Eintrag " Need the plugin "SystemTools"." überflüssig  |
Hab ich vergessen die Unit rauszulöschen?  |
Nein, nur aus dem Description-Feld  |
Danke für den Hinweis, werd ich in der nächsten Version geändert haben.
Yogu hat folgendes geschrieben : | littleDave hat folgendes geschrieben : | Also ich hab mir den Screenshot mal angeschaut und konnte leider nicht sagen woran das liegt. Der Screenshot könnte Win2000, aber auch WinME sein (wie Yogu bereits gesagt hat). WinME kann ich mir irgendwie nicht vorstellen, da mein Programm die Funktion "UpdateLayeredWindow" benutzt und diese laut MSDN erst ab Windows 2000 vorhanden ist.
Aber nochmal zu dem Screenshot: Kann es sein, dass der Desktop auf 16-Bit Farbtiefe gelaufen ist? Das könnte das Problem vielleicht erklären. Jedoch möchte ich da keine Garantien abgeben, da ich keine Möglichkeit habe, das Programm unter Windows 2000 zu testen. Yogu hat die Möglichkeit, jedoch hab ich noch keine Info von ihm bekommen, dass etwas falsch dargestellt wird (oder ich hab die Info gerade vergessen ). |
Egal, welche Farbtiefe ich einstelle - ob 32 oder 16 Bit, oder sogar 256 Farben - bei mir entstehen keine Schleier. Alles läuft perfekt, bis auf selbstverständliche Farbverluste.  |
Also ich benutze Funktionen, die laut MSDN erst ab Windows 2000 vorhanden sind. Somit scheiden eigentlich alle Win9x/WinME/WinNT aus  .
Yogu hat folgendes geschrieben : | PS: Das neue Widget ist großartig.  |
Danke  . Ich hab gerade noch eine neue Version hochgeladen. Der Download befindet sich jetzt im ersten Post.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 26.10.08 19:51
Hi,
Könntest du eine "import theme" funktion einbauen, mit der die .theme-Dateien eines Anderen Nutzers importierbar werden? Ich will Die Engine mal wieder weitergeben und das Layout beibehalten. Habe die absoluten Pfade angepasst. Funktioniert aber trotzdem noch nicht so ganz
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: So 26.10.08 20:25
Hidden hat folgendes geschrieben : | Könntest du eine "import theme" funktion einbauen, mit der die .theme-Dateien eines Anderen Nutzers importierbar werden? Ich will Die Engine mal wieder weitergeben und das Layout beibehalten. Habe die absoluten Pfade angepasst. Funktioniert aber trotzdem noch nicht so ganz  |
Hm, muss mal schauen, ob das mit den relativen Pfaden wirklich funktioniert - hab die zwar schon ausprobiert, aber noch nicht so ganz so ausführlich
Aber ich werd die Theme-Datei noch etwas erweitern: ich werd den relativen Pfad zur exe und den absoluten Pfad in die Theme-Dateien speichern. Im Portable-Mode wird die Datei dann zuerst anhand des relativen Pfades und dann anhand des absoluten Pfades gesucht. Im normalen Modus wird die Datei dann zuerst anhand des absoluten Pfades und dann anhand des relativen Pfades gesucht.
Dann sollte das importieren von Themes ganz automatisch funktionieren.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 26.10.08 20:28
Hi,
Finde ich toll, dass du über alle eventualitäten nachdenkst  Was ich meinte war nahe an QuickNDirty: "theme aus datei importieren" -> themedatei laden und dabei den absoluten pfad durch den absoluten pfad des theme-ordners auf diesem Computer ersetzen.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: So 26.10.08 20:45
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 26.10.08 21:32
Hi,
Spontaner Einfall. Auch etwas, was Winzigweich hätte besser machen können: Was hältst du von einem Passwort-Dialog über die Engine? Das Widget hat keinen Zugriff auf die eingegebenen Daten; der User sieht genau, woin was gesendet wird.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: So 26.10.08 22:29
Hidden hat folgendes geschrieben : | Spontaner Einfall. Auch etwas, was Winzigweich hätte besser machen können: Was hältst du von einem Passwort-Dialog über die Engine? Das Widget hat keinen Zugriff auf die eingegebenen Daten; der User sieht genau, woin was gesendet wird. |
Also leider versteh ich deinen Einfall so überhaupt nicht  . Was hat der Passwort-Dialog mit dem zweiten Satz zu tun? Irgendwie fehlt mir gerade das Bindeglied zwischen den beiden Sätzen.
Also den zweiten Satz versteh ich als eine Art "Netzwerk Traffic Log". Das lässt sich durchaus realisieren. Doch so ganz davon überzeugt bin ich noch nicht. Aber ich werds mir morgen nochmal genau überlegen.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 26.10.08 23:52
Hi,
Aaalso..
Ein Widget will Verbindung zu einer Website aufbauen, für die es ein Passwort braucht. Dazu sagt es der Engine, an welche Adresse und in welcher Form(in der Art wie FormatDate) die PW-Daten gesendet werden sollten.
Nun bekommt der User einen Popup-Dialog, die PW-Daten werden an die Website gesendet und das Widget bekommt läuft erst nach Antwort der Website weiter; dabei bekommt es einen Rückgabewert, der enthält, ob die Passwort-Eingabe erfolgreich war. Das ganze soll also eine Art exernal ShowModal sein.
Normalerweise hätte das Widget die PW-Daten bekommen und diese dann gesendet. Das hätte man erst im Quelltext prüfen müssen.
Also in der Art: if PasswortPopup('Username', 'Password', 'http://MyWebsite.de/login.php?username=u&password=p') then ..;
So in etwa hatte ich mir das spontan vorgestellt. Ein login ist aber nach genauerer Betrachtung dazu zu vielseitig
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mo 27.10.08 00:12
Wie wär's denn mit ein wenig Compiler Magic?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| var User, Password: String; begin if InputPassword('Bitte Geben Sie jetzt Ihren Benutzernamen und das '+ 'Passwort ein, das für den Login zum Delphi-Forum benötigt wird', User, Password) then begin ShowMessage('User: ' + User);
ShowMessage('Password: ' + Password);
HTTP.PostURL('http://www.delphi-forum.de/login.php', 'User=' + User + '&Password=' + Password);
Password := 'abc'; ShowMessage('Password: ' + Password); end; end; |
Das mit "der User sieht, wohin die Daten gesendet werden" klappt hier nicht so ganz. Aber es gibt ja schon einen Dialog, der den Zugriff auf das Internet meldet (wenn der nicht auf "Remember" gestellt wurde).
Edit: HTTP.GetURL zu HTTP.PostURL verbessert - hier waren meine Finger schneller als mein Kopf. 
Zuletzt bearbeitet von Yogu am Mo 27.10.08 20:52, insgesamt 1-mal bearbeitet
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 27.10.08 01:45
Hi,
Könntest du noch beim Shutdown(-widget) Abmelden und hibernate hinzufügen(notfalls hibernate = StrgUmschalt+shutdown, falls es kein icon gibt).
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Mo 27.10.08 03:40, insgesamt 1-mal bearbeitet
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mo 27.10.08 03:08
Yogu hat folgendes geschrieben : | Wie wär's denn mit ein wenig Compiler Magic?
{Code} |
Da würd ich aber eher sagen, führe einen Datentyp 'Password' ein, welcher sich wie ein String mit Zugriffsschutz verhält:
Schreiben geht immer, aber nur HTTP.* kann ihn lesen. Im Grunde wie window.location bei JavaScript im Browser.
Außerdem... wenn man als Programmierer Klimmzüge machen muss, um ein Passwort vor sich selbst zu verstecken... schon etwas schizophren. Wenn ich eh etwas anderes als normal mache, dann kann ich auch gleich das Passwort-klauen unterlassen
Wird das implementiert, sollte man auch nicht vergessen, dass die meisten Formulare nicht per GET, sondern per POST das Passwort erhalten.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 27.10.08 13:36
Hidden hat folgendes geschrieben : | Ein Widget will Verbindung zu einer Website aufbauen, für die es ein Passwort braucht. Dazu sagt es der Engine, an welche Adresse und in welcher Form(in der Art wie FormatDate) die PW-Daten gesendet werden sollten.
Nun bekommt der User einen Popup-Dialog, die PW-Daten werden an die Website gesendet und das Widget bekommt läuft erst nach Antwort der Website weiter; dabei bekommt es einen Rückgabewert, der enthält, ob die Passwort-Eingabe erfolgreich war. Das ganze soll also eine Art exernal ShowModal sein.
Normalerweise hätte das Widget die PW-Daten bekommen und diese dann gesendet. Das hätte man erst im Quelltext prüfen müssen.
Also in der Art: if PasswortPopup('Username', 'Password', 'http://MyWebsite.de/login.php?username=u&password=p') then ..; |
Du hast gerade eins der wichtigsten Gegenargumente gebracht:
Hidden hat folgendes geschrieben : |
So in etwa hatte ich mir das spontan vorgestellt. Ein login ist aber nach genauerer Betrachtung dazu zu vielseitig  |
Es würde ein viel zu großen Aufwand machen, alle Möglichkeiten in das Hauptprogramm einzubauen. Außerdem, falls mal was nicht so ganz funktioniert bzw. falls ein wichtiges Feature fehlt, muss ich das Programm erst erweitern. Die Scriptsprache ist doch genau für diese Sachen da. Über einen Passwort-Dialog kann ich mir mal Gedanken machen, jedoch eine fest eingebaute Funktion halte ich für extrem schlecht.
Yogu hat folgendes geschrieben : | Das mit "der User sieht, wohin die Daten gesendet werden" klappt hier nicht so ganz. Aber es gibt ja schon einen Dialog, der den Zugriff auf das Internet meldet (wenn der nicht auf "Remember" gestellt wurde). |
Das Problem kann man schon eher mit einer Art "Traffic Log" - Funktion realisieren, die an sich ja nicht so schlecht ist. Ob und wenn wie ich die genau einbaue, weiß ich jedoch noch nicht.
Hidden hat folgendes geschrieben : | Könntest du noch beim Shutdown(-widget) Abmelden und hibernate hinzufügen(notfalls hibernate = StrgUmschalt+shutdown, falls es kein icon gibt). |
Klar, kann mal schauen
Martok hat folgendes geschrieben : | Da würd ich aber eher sagen, führe einen Datentyp 'Password' ein, welcher sich wie ein String mit Zugriffsschutz verhält:
Schreiben geht immer, aber nur HTTP.* kann ihn lesen. Im Grunde wie window.location bei JavaScript im Browser. |
Das ist an sich eine gute Idee, doch von der Realisierung her ist das zu aufwendig. Ich müsste extrem viele neue Funktionen einbauen, wobei hier die Arbeit überhaupt nicht im Verhältniss zum Nutzen steht.
Das Problem ist halt, dass die Funktion einen ganz normalen String ausgeben soll, der jedoch nicht angezeigt werden darf. Das ist so gut wie unmöglich sowas vorher festzustellen.
Aber sagen wir mal, ich würd es schaffen so einen Secure-String einzubauen: ich müsste ja den PlugIns ebenfalls dieses Feature anbieten und was die PlugIns damit machen kann ich nicht beeinflussen.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 27.10.08 16:22
Naja, wenigstens die Engine ohne Plugins wäre damit schonmal sihcer und bedenkenlos ausführbar(Wobei es sich hier imho in nächster Zeit ausschließlich um theoretische Probleme handelt).
Habe gestern mal die Top 250 Vista-Widgets durchgesehen.. und ich muss sagen: Da ist wirklich nichts bei, das du noch nicht besser hast
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mo 27.10.08 19:51
Die Frage ist ja: welchen Sinn hat es denn, Eingaben im Script zu sichern, die der User ja nicht machen muss wenn er dem Widget nicht vertraut.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 27.10.08 19:57
Bei Windows stört mich das seit längerem: Jedes Programm hat einen völlig anderen PW-Dialog und ich bin mir nicht sicher, wem man vertrauen kann
@Oben: Also imho sollte der Pw-Dialog den DLLs nicht zur verfügung gestellt werden. Damit würde sich alle Sicherheit erübrigen und wir können es acuh gleich lassen
Mit den DLLs besteht ja imho die einzig mögliche Sicherheit in Open Source. Ansonsten ist damit einfach der Schlüssel aus derHand gegeben und Sicherheit nicht möglich. Selbst compillieren. Aber das kann man glaube ich von Ottonormalusern nicht verlangen.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 27.10.08 20:59
Hidden hat folgendes geschrieben : | Naja, wenigstens die Engine ohne Plugins wäre damit schonmal sihcer und bedenkenlos ausführbar(Wobei es sich hier imho in nächster Zeit ausschließlich um theoretische Probleme handelt). |
Die theoretischen Probleme könnten aber Wirklichkeit werden, deshalb will ich die Probleme garnicht erst aufkommen lassen will
Hidden hat folgendes geschrieben : | Habe gestern mal die Top 250 Vista-Widgets durchgesehen.. und ich muss sagen: Da ist wirklich nichts bei, das du noch nicht besser hast  |
 das spricht für sich
Martok hat folgendes geschrieben : | Die Frage ist ja: welchen Sinn hat es denn, Eingaben im Script zu sichern, die der User ja nicht machen muss wenn er dem Widget nicht vertraut. |
Hidden hat folgendes geschrieben : | Bei Windows stört mich das seit längerem: Jedes Programm hat einen völlig anderen PW-Dialog und ich bin mir nicht sicher, wem man vertrauen kann
@Oben: Also imho sollte der Pw-Dialog den DLLs nicht zur verfügung gestellt werden. Damit würde sich alle Sicherheit erübrigen und wir können es acuh gleich lassen
Mit den DLLs besteht ja imho die einzig mögliche Sicherheit in Open Source. Ansonsten ist damit einfach der Schlüssel aus derHand gegeben und Sicherheit nicht möglich. Selbst compillieren. Aber das kann man glaube ich von Ottonormalusern nicht verlangen. |
So ganz versteh ich die Diskusion noch nicht, deswegen versuch ich das mal mit meinen Worten auszudrücken:
Dein Argument, Martok, versteh ich im Moment so: wenn ein Benutzer kein Passwort eingibt, kann das Widget auch keins speichern. Wenn der Benutzer aber ein Passwort eingibt, dann sollte man in der Regel auch davon ausgehen, dass er dem Widget soweit vertraut, dass er ihm ein Passwort übergibt - zusammen mit allen möglichen Konsequenzen.
Nun versuch ich es bei dir, Hidden: Du schlägst vor, einen einheitlichen Passwort-Dialog zu erstellen. Das übergebene Passwort kann das Widget aber nicht auslesen, sondern nur an bestimmte Funktionen weitergeben.
Ok, nun versuch ich dazu mal Stellung zu nehmen:
Ein Passwort ist ja an sich schon etwas sicherheitsrelevantes - ich glaub da sind wir uns alle einig. Jedoch finde ich, dass man es mit Sicherheitsabfragen übertreiben kann.
Der Benutzer hat bisher schon viele eingebaute Sicherheitslayers:
- Widgets mit PlugIns können NUR nach einer einmaligen Bestätigung des Benutzers gestartet werden
- Den Zugang zum Internet/Netzwerk kann der Benutzer global sowie für jedes Widget individuell einstellen
- Den Schreibzugriff auf lokale Dateien ist von Haus aus deaktiviert und lesend kann man nicht viele Daten schreiben.
Wenn der Benutzer jetzt ein Widget herunterläd und es dann startet, dann weiß das Widget ja noch kein Passwort. Daher muss es erstmal nach einem Passwort fragen. Falls die Passwortabfrage jetzt für die Funktionsweise des Widgets nicht relevant scheint, kann er ja einfach keins oder erstmal ein falsches eingeben.
Bei PlugIns ist es halt so, dass man erstmal nicht davon ausgehen kann, dass der Quelltext mit dabei ist geschweige denn der Otto-Normal-Verbraucher ihn verstehen würde. Zudem hat man mit PlugIns extrem viel mehr Möglichkeiten - daher gibt es auch den Dialog, ob man ein Widget - welches PlugIns benötigt - überhaupt starten will.
Man sollte auch nicht davon ausgehen, dass grundsätzlich jedes PlugIn böse ist. Wenn das so ist, dürfest du ja kein Programm benutzen, was du nicht selber kompiliert hast. Aber komplett eine rosa Brille aufsetzen will ich auch nicht, daher überlege ich mir schon seit Tagen, wie ich PlugIns per Zertifikat als "gut" aushängen könnte. Jedoch bin ich bisher noch zu keinem Entschluss gekommen. Mein bisher ausgedachtes Zertifizierungssystem hab ich mir so vorgestellt:
An das Ende des PlugIns wird das Zertifikat mit einer festen Datengröße angehängt. Die Daten des Zertifikats sind verschlüsselt und müssen vom Programm erst entschlüsselt werden. Der Verschlüsselungs-Key ist dann eine Kombination aus verschiedenen CheckSummen der DLL an sich, einem Salt sowie einen speziellen Verschlüsselungs-Key, den nur das Programm kennt. Jedoch halte ich gerade das letzte für das größte Problem, denn ich will ja nicht, dass sich jeder ein eigenes Zertifikat für das PlugIn erstellen kann - sonst könnt ich es ja gleich lassen. Was ich bräuchte wäre ein Public/Private-Key-Verfahren, nur dass der Key zum Verschlüsseln private sein sollte. Über RSA hab ich bisher zu wenig gelesen um genau zu wissen, ob und wie ich das am besten lösen könnte. Wenn da jemand was hätte (oder ein anderen Vorschlag), immer her damit.
Ein Einheitlicher Passwort-Dialog ist zwar an sich eine gute Sache, jedoch hat man in einem Widget sehr viele Freiheiten - dazu gehört auch das eigene Designen von Passwortdialogen. Ich werd in der nächsten Version einen Default-Passwort-Dialog einbauen, soweit hast du mich, Hidden, schon überzeugt. Doch für ein Passwort, dass der Benutzer eh erst eingeben muss, solch eine Sicherheitsbox herumzubauen halte ich für extrems übertrieben.
Ach noch was, bevor ich es vergesse:
littleDave hat folgendes geschrieben : | Hidden hat folgendes geschrieben : | Könntest du noch beim Shutdown(-widget) Abmelden und hibernate hinzufügen(notfalls hibernate = StrgUmschalt+shutdown, falls es kein icon gibt). |
Klar, kann mal schauen |
Ich hab leider kein Icon mehr gefunden  .
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 27.10.08 21:11
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Di 28.10.08 02:42
Sodala, hab gerade Version 0.62 hochgeladen
In dieser Version hab ich mal die (zugegeben) schrecklichen Icons aus der Vorgängerversion verändert. Zum einen haben jetzt nur noch wichtige Funktionen ein Icon und zum anderen hab ich die Icons an sich auch verändert. Nun sollte das Programm nicht mehr so "over-iconed" sein
Auch den Focus im Add-Widget-Dialog hab ich jetzt auf die Thumbnails gesetzt - somit kann man jetzt direkt mit dem Mausrad durch die Liste scrollen.
Auch neu ist die ListBox-Komponente, die jetzt den Widgets zur Verfügung steht. Um diese gleich mal auszuprobieren hab ich das Spiegel-RSS sowie das DP-ShoutBox-Widget nun verbessert. Im Anhang hab ich mal nen Screenshot von den neuen Versionen hochgeladen - ich denke, die sind nun wirklich besser.
Aber ich hab auch eine Überraschung für passiv: hier hast du gemeint, dass du Probleme hast mit den Sonderzeichen bei derStandard.at: ich habs nun endlich geschafft und einen neuen Datentyp eingeführt: UTF8String - und weil ich gerade dabei war, hab ich gleich noch ein Widget für derStandard.at gebastelt.
Wie gerade gesagt, arbeite ich gerade daran, die Widgets auch unicode-Enabled zu machen. Den ersten Schritt hab ich dafür bereits hinbekommen: den neuen Datentyp: UTF8String. Zusammen mit der Compiler-Magic der Script-Engine kann man sogar ganz einfach UTF8Strings in Ansi-Strings umwandeln - und umgekehrt.
Da einige Funktionen nur Strings zurückgeben, kann es sein, dass diese Compiler-Magic im Weg stehen kann. Daher hab ich noch eine Funktion eingebaut, mit der man einen AnsiString ohne Konvertierung in einen UTF8-String umwandeln kann: AnsiAsUtf8. Somit kann man jetzt einen AnsiString, der eigendlich ein UTF8-String ist, ganz einfach und ohne verluste umwandeln.
Das Disc-Size-Widget ist jetzt im Standard-Paket mit dabei. Ich habe es noch etwas erweitert, daher wäre es gut, wenn ihr die Beta-Version mit der aktuellen überschreiben würdet.
@ Hidden: Der Passwort-Dialog hats leider nicht mehr in die Version geschafft - hab aber schonmal die Property "TwgEdit.PasswordChar" für dich eingeführt. Auch das ShutDown-Widget hab ich nicht mehr weitergemacht. Es sind einfach zu viele Baustellen für einen
@ henni: Leider konnt ich das Problem mit dem Verschwinden der SideBar bei mir nicht reproduzieren
Der komplette ChangeLog sowie der Download ist im ersten Post zu finden
Grüße
Dave
|
|
|