Seite 1 von 1

Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 00:30
von Kundal
Dieses Script-Addin fügt eine neue Spalte für die Dateianzeige hinzu, die für textbasierte Dateien die Anzahl der Zeilen anzeigt. Es wurde zunächst von mir im englischen Directory Opus Resource Center gepostet und dann vom User tbone überarbeitet und verbessert: Column: Lines (number of lines in text files)

Durch Rechtsklick auf den Dateianzeige-Kopf=>Spalten=>Skript=>Zeilen kann die Spalte temporär angezeigt (siehe Screenshot) oder in den Ordneroptionen dauerhaft für einen Ordner gespeichert werden. Die Spalte zeigt die Anzahl der Zeilen für folgende Dateitypen an:
.txt .ini .htm .xml .rdf .html .url .shtml .lng .dcf .dop .omd .torrent .php .css.inc .js .tpl .sql .reg .bat .vbs .cmd .btm .ncl .m3u .pls .cue
Die Liste kann in der Script-Konfiguration editiert werden.
Das Script (oder das Scriptpaket Column.File_Lines.osp) muss nach /dopusdata\Script Addins\ kopiert werden.
Zeilen.png
Column.File_Lines.vbs

Code: Alles auswählen

Option Explicit
'
' Column.File_Lines
' (c) 2014 Kundal & tbone
'
Function OnInit(data)
	Dim uid : uid = "2E645D28-20E6-4D26-AF7B-6C6774A48FCE"
	Dim url : url = "http://www.haage-partner.de/forum/viewtopic.php?f=45&t=4725"
	data.name = "Column.File: Lines"
	data.desc = "Spalte um die Anzahl der Zeilen von textbasierten Dateien anzuzeigen"
	data.copyright = "2014 Kundal und leicht verbessert von tbone"
	data.version = "1.1"
	data.default_enable = true
	data.config.Extensions = ".txt.ini.csv.html.xml.rdf.html.url.shtml.lng.dcf." &_
	"dop.omd.torrent.php.css.inc.js.tpl.sql.reg.bat.vbs.cmd.btm.ncl.m3u.pls" &_
	".cue.pys.pl.ps1.psm1.hta.asp.vb.bas.sql"

	Dim col : Set col = data.AddColumn
	col.name = "Zeilen"
	col.method = "OnLines"
	col.justify = "right"
	col.type = "number"
	col.autogroup = true
End Function

Function OnAboutScript(data) 'v0.1
    Dim cmd: Set cmd = DOpus.Create.Command()
    If (Not cmd.Commandlist("s").exists("ScriptWizard")) Then
      If (DOpus.Dlg.Request("Das Add-In 'ScriptWizard' wurde nicht gefunden."&vbCrLf&vbCrLf&_
         "Installiere 'ScriptWizard' von [resource.dopus.com]."&vbCrLf&"Das Add-In aktiviert diesen Dialog und bietet ausserdem "&_
         "einfaches updaten von Scripts und vieles mehr.","Ja, zum Download!|Abbrechen", "No About.. ", data.window)) Then _
         cmd.RunCommand("http://resource.dopus.com/viewtopic.php?f=35&t=23179")
      Else
         cmd.RunCommand("ScriptWizard ABOUT WIN="&data.window&" FILE="""&Script.File&"""")
   End If
End Function

'Implement the Lines column
Function OnLines(data)
	Dim objFS, objTS
	If data.item.is_dir = True Then Exit Function
    If instr(Script.config.Extensions, lcase(data.item.ext)) = 0 Then Exit Function
	Set objFS = CreateObject("Scripting.FileSystemObject")
	Set objTS = objFS.OpenTextFile(data.item)
	If objTS.AtEndOfStream = True Then
		data.value = 0
		Exit Function
	End If
	objTS.ReadAll
	data.value = objTS.Line
End Function
'MD5 = "c8eba1407d9cdc1de6861c9de7824133"; DATE = "2014.11.29 - 11:10:25"
Column.File_Lines.vbs.txt
v1.1
(4.05 KiB) 60-mal heruntergeladen

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 05:56
von Kundal
Update:
Ich habe das Script durch eine vom englischen User tbone im Directory Opus Resource Centre gepostete verbesserte Version ersetzt: Column: Lines (number of lines in text files)

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 17:20
von josinoro
Hallo Kundal,

leider funktioniert das Skript bei mir nicht oder ich mache etwas falsch.

Das Script wird zwar in Einstellungen=>Voreinstellungen...=>Skripts angezeigt, aber alle Optionen (Info, Konfigurieren, Bearbeiten) sind ausgegraut. In dem Kontextmenü der Anzeigespalten wird der von dir beschriebene Menüpunkt Skript mit dem Untermenü Zeilen nicht angezeigt.

Directory Opus Pro 11.5 Build 5298 x64
OS 6.1 (B:7601 P:2 T:1) SP 1.0 "Service Pack 1"

MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 17:40
von Kundal
Ich habe die hier gepostete Datei Column.File_Lines.osp noch einmal selbst heruntergeladen und getestet. Bei mir funktioniert das einwandfrei. Auch der Script-Code funktioniert bei mir.
Wenn du die OSP-Datei benutzt, sollte nur der Button Konfigurieren aktiv sein (hier kannst du die Liste der Dateiendungen editieren). Wenn du das Script direkt als VBS-Datei nach /dopusdata\Script Addins kopierst (oder per Drag & Drop in das Einstellungs-Fenster ziehst'), sollte auch der Bearbeiten-Button aktiv sein.
Wenn es bei dir nicht funktioniert, ist entweder beim Kopieren des Script-Codes etwas schief gelaufen oder der Download der OSP-Datei war korrupt.

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 17:54
von josinoro
Hallo Kundal,

der Download scheint in Ordnung zu sein.

Das Skript habe ich jetzt noch einmal heruntergeladen und mittels Drag&Drop in Einstellungen=>Voreinstellungen...=>Skripts gezogen. Die Datei Column.File_Lines.osp wird ordnungsgemäß in das Verzeichnis C:\Users\xx\AppData\Roaming\GPSoftware\Directory Opus\Script AddIns kopiert. Es bleibt leider bei den beschriebenen Ergebnissen.
18-08-2014 17-52-20.png

MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 18:11
von Kundal
Dein Screenshot zeigt, dass du auf jeden Fall nicht die von mir zuletzt gepostete Version hast. Bei mir sieht das so aus:
Script
Script.png
Script.png (3.95 KiB) 2793 mal betrachtet
OSP-Datei
OSP.png
OSP.png (4.42 KiB) 2793 mal betrachtet
Also noch mal herunterladen und dann sollte es gehen.

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 18:36
von josinoro
Hallo Kundal,
Kundal hat geschrieben:Also noch mal herunterladen und dann sollte es gehen.
um sicherzustellen, dass wir von dem Gleichen reden: ich habe die *.osp und die *.vbs Datei von dem ersten Beitrag dieses Themas kopiert.
Die *.osp Datei per Download und die *.vbs Datei über kopieren und als *.vbs abspeichern.

Bei der *.vbs Datei ist nur der Button Bearbeiten anwählbar. Die Informationen bezüglich Funktionalität und Copyright werden bei mir sowohl in dem mittels *osp Datei, als auch in dem mittels *.vbs Datei eingefügten Skript nicht angezeigt. Bei mir funktioniert das nicht. :(

MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 19:16
von Kundal
Welche Version von DOpus hast du laufen? Spalten können per Script erst ab der Version 11.5.1 Beta hinzugefügt werden. Gerade beim Scripting kommen mit jeder Beta neue Funktionen hinzu, ohne die manches Script bei dir nicht laufen wird. Ich empfehle dir, die aktuelle Version 11.5.6 Beta zu installieren. Seit der Version 11.5.0 sind diverse Bugs behoben worden, sodass die aktuellen Betas eher stabiler laufen als die letzte Final. Im Laufe dieser Woche ist schon die nächste Version 11.5.7 angekündigt.

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 19:27
von josinoro
Hallo Kundal,
Kundal hat geschrieben:Welche Version von DOpus hast du laufen?
Directory Opus Pro 11.5 Build 5298 x64

Dann warte ich bis nächste Woche. Danke für Deine Mühe.

MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 18. Aug 2014 19:42
von Kundal
Im Moment gibt es ca. alle 2 Wochen eine neue Version. Die Entwickler arbeiten anscheinend äußerst fleißig ihre Liste der Feature Requests und Bug Reports ab. Ich bin natürlich bei jeder neuen Version dabei und habe noch nie gravierenden Stress damit erlebt. Die meisten Bugs die behoben werden sind eher exotisch, so dass man damit im normalen Gebrauch kaum in Berührung kommt. Neue Features gibt es überwiegend im Scripting-Bereich.

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 22. Aug 2014 16:08
von josinoro
Hallo Kundal,

mit der Beta von DO funktioniert es.

Nun wollte ich einen Schalter zum Umschalten der neuen Spalte einfügen:

Code: Alles auswählen

Set COLUMNSTOGGLE=Zeilen
Das klappt leider nicht. Wie muss denn diese Spalte angesprochen werden?

MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 22. Aug 2014 21:58
von Kundal
Die Namensgebung ist etwas kompliziert aufgebaut. Am Besten, du benutzt im Befehlseditor die Schaltflächen Befehle und Argumente um den Befehl zusammen zu bauen: Klick auf Befehle=>Set; Klick auf Argumente=>Columnstoggle=>Skript. An der Stelle siehst du dann eine Liste der vorhandenen durch Scripts hinzugefügten Spalten.
Die Spalte Zeilen taucht da unter dem Namen scp:Column.File: Lines/Zeilen auf. Der Name ist zusammengesetzt aus dem Präfix scp:, dem Namen des Scripts (Zeile 12: data.name = "Column.File: Lines") und dem Namen der Spalte (Zeile 22: col.name = "Zeilen"). Wenn du diesen Eintrag anklickst, wird er automatisch in den Befehl eingefügt.
Der funktionierende Befehl lautet dann:

Code: Alles auswählen

Set COLUMNSTOGGLE="scp:Column.File: Lines/Zeilen"
Die Benutzung der Schaltflächen im Befehlseditor empfiehlt sich übrigens immer dann, wenn du die genaue Befehlssyntax nicht kennst.

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 25. Aug 2014 00:53
von josinoro
Hallo Kundal,

so funktioniert es tadellos. Danke!

Neben deinem Script habe ich auf diese Art und Weise auch das Script Custom Column - Newest File
http://resource.dopus.com/viewtopic.php ... 9fbb457218
in einen Schalter eingebunden.

Code: Alles auswählen

<?xml version="1.0"?>
<?xml version="1.0"?>
<button backcol="none" display="both" textcol="none" type="menu_button">
	<label>Kopfzeilen</label>
	<tip>Schaltet Kopfzeilen an/aus</tip>
	<icon1>#insert_table_row</icon1>
	<button backcol="none" display="both" textcol="none">
		<label>Zeilenanzahl</label>
		<tip>Schaltet die Spalte [Zeilen] an/aus</tip>
		<icon1>#8ball</icon1>
		<function type="normal">
			<instruction>Set COLUMNSTOGGLE="scp:Column.File: Lines/Zeilen" </instruction>
		</function>
	</button>
	<button backcol="none" display="both" icon_size="large" textcol="none" type="three_button">
		<label>Größe/Attributr/Thumbnail</label>
		<icon1>#insert_table_col</icon1>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label> Relative Größe an/aus</label>
			<tip>Schaltet die Spalte Relative Größe an/aus</tip>
			<icon1>#insert_table_col</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE=sizerel(2,100)</instruction>
			</function>
		</button>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label>Attributr an/aus</label>
			<tip>Schaltet die Spalte Attribute an/aus</tip>
			<icon1>#insert_table_col</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE=attr(5,70)</instruction>
			</function>
		</button>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label>Thumbnail an/aus</label>
			<tip>Schaltet die Spalte Thumbnail an/aus</tip>
			<icon1>#insert_table_col</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE=thumbnail(5,120)</instruction>
			</function>
		</button>
	</button>
	<button backcol="none" display="both" icon_size="large" textcol="none" type="three_button">
		<label>Neueste Dateien</label>
		<icon1>#schedule</icon1>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label>Neuestes Datum</label>
			<tip>Schaltet die Spalte [Neuestes Datum] an/aus</tip>
			<icon1>#schedule</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE="scp:Neueste Dateien/NewestFileDate" </instruction>
			</function>
		</button>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label>Neueste Datei</label>
			<tip>Schaltet die Spalte [Neueste Datei] an/aus</tip>
			<icon1>#schedule</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE="scp:Neueste Dateien/NewestFileName" </instruction>
			</function>
		</button>
		<button backcol="none" display="both" icon_size="large" textcol="none">
			<label>Neuestes Datum/Datei</label>
			<tip>Schaltet die Spalte [Neuestes Datum mit Datei] an/aus</tip>
			<icon1>#schedule</icon1>
			<function type="normal">
				<instruction>Set COLUMNSTOGGLE="scp:Neueste Dateien/NewestFile" </instruction>
			</function>
		</button>
	</button>
</button>
MfG

josinoro

Re: Textdateien: Anzahl der Zeilen in Spalte anzeigen

Verfasst: 29. Nov 2014 11:15
von Kundal
Update auf Version 1.1:
  • Das Script bietet jetzt volle Unterstützung für ScriptWizard von tbone. Dadurch wird der Info-Button in der Script-Konfiguration aktiviert. Der Info-Dialog ermöglicht direktes Aufsuchen dieser Webseite, Update auf die neueste Version und einiges mehr. Wenn ScriptWizard noch nicht installiert ist, erscheint ein Dialog, von dem aus man direkt zum Download des Scripts im Resource Centre gehen kann.