Codeschnipsel Archiv

Anwendungen, Tools, Userlibs und anderes nützliches.
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Codeschnipsel Archiv

Beitrag 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
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Codeschnipsel Archiv

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Codeschnipsel Archiv

Beitrag 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+
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Codeschnipsel Archiv

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Codeschnipsel Archiv

Beitrag 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.
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Codeschnipsel Archiv

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Codeschnipsel Archiv

Beitrag 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
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Codeschnipsel Archiv

Beitrag 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.
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Codeschnipsel Archiv

Beitrag 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.
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Codeschnipsel Archiv

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Antworten