Seite 2 von 3

Re: Codeschnipsel Archiv

Verfasst: 22.07.2010 14:29
von Christian+
So ich habe nochmal etwas weiter gemacht und einige der neuen Ideen bereits umgesetzt.
geändert:
- Button und Stringfeld nicht mehr fix
- SmartWindowRefresh hinzugefügt
- .pbi Unterstützung verbessert
- ListViewGadget wegen mehr Möglichkeiten in TreeGadget geändert
- Unterstützung von Ordnern im Archiv Verzeichnis

Re: Codeschnipsel Archiv

Verfasst: 22.07.2010 22:41
von Vera
Hi Christian+,

toll, toll, toll :D

mit den paralelen Unterordnern kann man sich die Codes schön strukturiert aufteilen und erhält eine gute Übersicht im TreeGadget. (Die Codes sind eingerückt und die Ordner lassen sich zuklappen).
Auch das neuAbspeichern wird, abhängig davon, welches Verzeichnis grad' aktiv ist, entsprechend abgelegt. (.pb bei fehlender Erweiterung und .pbi wird akzeptiert.)

Aber ich war so frei und hab einfach mal NAME.txt ausprobiert, das hat Dein Codeschnipsel-Archiv allerdings nicht verkraftet :wink: - konnte aber trotzdem noch beendet werden.

Mist, ich hab noch was Fieses entdeckt: jetzt gibt es die Sicherheitabfrage bei ungespeicherter Änderung - prima - wenn ich aber codeAB.pb in ARCHIV-1 ändere und wähle dann einen Eintrag in ARCHIV-2 und bestätige die Speicheraufforderung, dann wird
1. beim ersten Mal die codeAB.pb im Archiv-2 ganz neu angelegt, das Orginal aber nicht ugedated
2. falls der namensgleiche Code im anderen Verzeichnis schon existiert, dann wird er dort überschrieben, aber gelegentlich stürzt das Programm dabei ab

FAZIT: zur Zeit sollte man bei ungesicherten Änderungen nicht ins Nachbarverzeichnis wechseln

Es gibt leider noch was:
Beim 'Bestatigungsspeichern' wird auch immer die Archivreihenfolge im TreeGadget geändert.
Diese Reihenfolge spielt irgendwie eine Rolle, denn wenn ich innerhalb eines nachfolgenden Archivs einen Code via Bestätigung speichern lassen will, dann wird aber eine vorhandene NAMENsgleiche.pb in einem darüberliegenden Archiv geändert und anschließend läuft das Programm heiß.

Fazit: diese Version ist nicht ganz sicher. Am besten man speichert immer sofort brav ab :)

(Ich hoffe das ist verständlich beschrieben und) ich freu mich trotzdem über die aktuelle Entwicklung :allright:

Gruß ~ Vera

Re: Codeschnipsel Archiv

Verfasst: 07.08.2010 12:19
von Christian+
So hier mal die nächste Version alle alten mir bekannten Fehler sollten weg sein und ich hoffe es sind nicht allzu viele neue drin. Größte Änderung ist dass ich jetzt mal versuchsweise ein ExplorerListGadget() eingebaut habe da damit neu laden zum aktualisieren des Archiv Inhalt komplett wegfallen kann.
mfg Christian+

Re: Codeschnipsel Archiv

Verfasst: 07.08.2010 21:38
von Vera
Hallo Christian,

schön von Dir zu hören :)

Soweit festzustellen, sind alle Fehler beseitigt und können mit dieser ExplorerList so nicht mehr entstehen. Das mit dem automatischen Reload funktioniert auch unmittelbar. Schön finde ich natürlich, dass jetzt die Unterebenen unbegrenzt sind, dafür ist aber die Übersichtlichkeit verloren gegangen.

Man hat kein Erkennungsmerkmal, in welchem Verzeichnis/Ebene man sich befindet und muß oft wiederholt in die unterschiedlichen Ordner springen, um einen bestimmten Code wieder zu finden. Eine sich aufklappende Baumstruktur fände ich, glaub ich, am Besten oder aber eine Angabe des aktuellen Verzeichnisses an anderer Stelle.

Im Editorpanel fehlt noch die Einbindung STRG+A, um alle wichtigen Shortcuts rund zu machen.
Beim Html-Export findet man immernoch die NULL am Dateiende, was mich nicht stört, da es sich leicht löschen läßt.
Dann hab' ich heute nochmal genauer auf UFT-8 geachtet: hat eine Datei dieses Format (mit/ohne Sig), dann bleibt es auch beim erneuten Speichern erhalten (gut zu wissen). Nur eine neu angelegte Datei ist im ANSI-Format.

Eine weitere Kleinigkeit ist mir noch aufgefallen: beim Resizen der GUI geht die CPU-Last auf 20% (bis max 60% bei anhaltendem Hin- u.Herziehen) hoch. ok. Jedoch beim Splitterverschieben, saust sie auf 98% rauf. (nur zum Bescheid sagen, denn den Splitter verschiebt man ja nicht ständig)

Danke Dir - so kann man Dein Schnippselarchiv wieder gefahrlos verwenden :)

Gruß ~ Vera

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 10:12
von Christian+
Ja die Übersichtlichkeit ist jetzt ein Problem vielleicht fällt mir ja noch eine bessere Lösung ein.
Was du beim Html-Export mit der NULL am Dateiende meinst verstehe ich nicht ganz wo soll die genau zu finden sein? Ich übergebe dem WebGadget einen String anders geht es ja nicht und der String sollte korrekt sein denn wenn ich den in eine Datei speichere passt alles. Wobei mir gerade eben aber aufgefallen ist das im Webgadget das nicht Ganz passt da schreibt es immer noch was hinten hin aber ich wüsste nicht was ich dagegen machen könnte da es immer so zu sein scheint werde ich mir noch mal anschauen.

Code: Alles auswählen

OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(0, 10, 10, 580, 280, "<html></html>")
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Das Splitterverschieben sollte nun wesentlich weniger CPU Power brauchen da nur noch alle x Millisekunden verschoben wird statt ständig ist mir gar nicht aufgefallen gewesen. STRG+A und STRG+X werden nun ebenfalls im EditorGadget unterstützt.

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 14:25
von Vera
Hi CHristian,

danke für das schnelle Update :)

Warum benutzt Du nicht für die Übersicht ein ExplorerTreeGadget() ?
Man könnte natürlich auch bei der Dateiangabe im Editor den gesamten Pfad anzeigen. Hat aber den Nachteil, dass es schnell zu lang werden kann, bzw. man dieses Panel dafür fokussieren müßte. Alternativ könnte man den Gesamtpfad ggf. mit in die Titelleiste nehmen. Aber ein TreeGadget wär sicher das einfachste.

zur NULL am Dateiende ein (kurzzeitiger) Screenshot aus drei verschiedenen Editoren:
Bild

Ich denke, dass die NULL schon beim Generieren angehängt wird, hab' aber keine Idee, wodurch das entstehen könnte. Vielleicht hat es damit zu tun, dass diese HTML-Seiten immer in UFT-8 sind und nicht in ANSI, wie die anderen gespeicherten Dateien.

Ja - und der Splitter verbraucht jetzt so gut wie gar keine CPU-Last mehr und läßt sich wie vorher handhaben :allright:

Gruß ~ Vera

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 14:41
von Christian+
Bei ExplorerTreeGadget() kann ich nicht vom Programm aus eine Datei auswählen was alles etwas kompliziert macht.
Dann wegen der Null was hast du da für Editoren verwendet und welches Windows nutzt du? Tritt das auch bereits bei dem Code auf den ich in der letzten Antwort geschrieben habe meine Editoren stellen das alle korrekt dar.

Edit:
Hier mal ein Link zu einer Version die den HTML Code direkt in eine Datei Schreibt (STRG+E) ist da das Problem mit der Null auch?
http://www.file-upload.net/download-272 ... v.zip.html

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 15:18
von Vera
> Dann wegen der Null was hast du da für Editoren verwendet und welches Windows nutzt du?
1. - Notepad2 / 2. - Akelpad / 3. - Notepad++ - das zeigen aber auch andere Editoren ggf. an.
(WinXP SP2, IE6)

Dein CodeBeispiel hab ich als Ansicht betrachtet und nicht zum Testen verstanden, das hole ich dann noch nach.
Ebenfalls auch Deine ..zip.html - aber dafür muß ich aber erst die Platte wechseln.

Bis nachher ~ Vera

etwas später:
Dein Code-Beispiel macht keinen Sinn, denn dann erscheint die ErrorSeite vom IE (kann Seite nicht laden) und diese HTML-Seite ist natürlich schon fertig.

Prima: der Export via STRG+E erzeugt zwei Html-Seiten (Uft-8, ANSI), die beide ohne NULL sind.
(Toll - das kannste doch direkt drin lassen ;) )

ABER beim IE-Kontextmenü im WebGadget und Quellcode anzeigen lassen, ist die NULL weiterhin drin.
(da ich die notepad.exe gegen notepad2 ausgetauscht habe, erscheint dieser auch als Quellcode-editor, deshalb sehe ich die Null auch sofort. Das Laden der Seite in verschiedenen Browser macht ja auch keine Probleme, aber ich habe zB einen Editor mit Sicherheitsfunktion, der Dateien mit Null-Byte automatisch locked, um zb keine Binaries beschädigen zu können)

Dann schleicht sich die Null ggf. beim Laden ins Webgadget ein.

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 17:35
von Christian+

Code: Alles auswählen

OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
html$ + "<!DOCTYPE HTML PUBLIC " + Chr(34) + "-//W3C//DTD HTML 4.01 Transitional//EN" + Chr(34) + ">" + #CRLF$
html$ + "<html>" + #CRLF$
html$ + "<head>" + #CRLF$
html$ + "<title>" + "Test" + "</title>" + #CRLF$
html$ + "</head>" + #CRLF$
html$ + "<body style ='background-color:#FFFFB4;'>" + #CRLF$
html$ + "</body>" + #CRLF$
html$ + "</html>"
WebGadget(0, 10, 10, 580, 280, "")
SetGadgetItemText( 0, #PB_Web_HtmlCode, html$ )
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Seltsam ich Schreibe in die Datei genau den String den meine HTML erstellende Funktion zurückgibt und genau dieser Rückgabestring wird auch direkt als Parameter mit SetGadgetItemText an das Webgadget übergeben da kann sich eigentlich kein Fehler einschleichen.
Hier mal ein komplettes Beispiel das sollte auf jeden Fall laufen ich dachte der kürzere Code würde auch schon gehen schau mal ob da auch die Null entsteht denn ich habe bei mir auch Notepad++ und kann dort keine Null finden weder beim Test Code noch im Code Archiv allerdings scheint beides mal ein Leerzeichen am Ende zu sein. Ich habe allerdings auch Windows 7 64 Bit mit IE 8 scheint als hängt das Problem irgendwie damit zusammen.

Re: Codeschnipsel Archiv

Verfasst: 08.08.2010 18:34
von Vera
Hallo,

dieser Code macht bei mir genau das selbe: im Webgadget wird daraus eine UFT-8 incl. NULL am Ende und beim Export via createfile erzeugt es eine ANSI-HTML ohne NULL.

Jetzt wäre es interessant, ob jemand anderes mit einer 32bit-Version, das auch überprüfen könnte, denn das sieht mir nun eher nach einem BUG aus.

Ich hätte gerne ausprobiert, ob man beim Webgadget auch ANSI bestimmen könnte, wüßte aber erstmal nicht wie. Ebenso wär für mich interessant, wie man beim Export UFT-8 bestimmen kann. Vielleicht kannst Du mir einen Tip geben, dann brauche ich nicht so lange nachzuforschen.

Gruß ~ Vera