Rufinus: Perl oder VBA????

Hallo,

Zu aller erst, das soll nicht die bitte um schreiben eines solchen Programms werden, aber für mich als Perl anfänger wohl etwas zu groß :)
Ich bräuchte "etwas" hilfe bei der strukturierung und ein paar Gedankengänge wie ich das Project am besten anpacken könnte.
Also hier mal das was es machen bzw können soll:

Statisches HTML Seiten Generierungs Programm - SHSGP

Teil 1:

Ein Vorgegebenes Verzeichnis wird Durchsucht und Indexiert -> Namen der Dateien Merken, Größe Bestimmen, -> .zip löschen -> zweites Verzeichniss wird durchsucht und indexiert -> .jpg löschen ->verzeichniss 1 mit Verzeichnis 2 Vergleichen, alle ungleichen resultate in ein Errorlog schreiben und bei folgender operation auslassen.
Es gibt auch noch ein drittes verzeichniss, aber da sich da nur der pfad ändert, und das schon im HTML code berücksichtigt ist, braucht sich das SHSGP nicht darum zu kümmern.

Teil 2:
Jedes File des 2 Verzeichnisses auflisten (einzeln) als Bild (da JPG) Auf user eingabe warten Per PullDown menü aus den Kategorien auswählen (Teil 4) nachauswahl nächstes bild anzeigen. USW

Teil3:
Ausgabe der Daten in HTML Seiten.
Jede Kategorie wird ausgegeben nach diesem Schema:
(siehe http://winampskins.ml.org/skins/vorlage.shtml  und Teil 5)
d.H. Im Kopf der Seite die Kategorie wie Bei Teil4 Beschrieben, ganz oben rechts die anzahl der "Skins" zb "Skin 1-10 of 345"
Danach werden jeweils 10 skins pro Seite ausgegeben, Da das format der Skins inkl Download Button einwandfrei aus dem HTML Code hervorgeht braucht sich hier das SHSGP nicht darum zukümmern, es muß nur jeweils die daten hinzufügen.
Ganz unten kommt noch ein BACK und NEXT Button der wie der name schon sagt auf die Letzte und Nächste Seite verweist.

Teil 4:
Kategorie Definition:

Fusion
Fusion Based
Cars
Brandnames
Erotic
Fantasia
General
Games
Sport
LCD
University
Ugly
Movie/TV
Cartoons
Computer

Teil 5:
Der Source Code:
° Der Skins selber:

<tr><td width=60% rowspan="2"><A HREF="Javascript:Zeigen('skinpics/BILDNAME.jpg','NAME DES SKINS OHNE .ZIP - WinAmpSkins!',275,116)"><img src="SmallPics/BILDNAME.jpg"" alt="Beetleamp" border="0" WIDTH="137" HEIGHT="58"></a></td><td width="50%"><a  href="http://winampskins.ml.org/cgi-bin/download/download.bat?SKINNAME.zip">Download</a></td></tr><tr><td width="63%"><font size="-1">Skin Size: GRÖßE DES SKINS IN Kbyte</font></a></td></tr>

Bitte darauf achten das keine Zeilenumbrüche und leerzeichen entstehen wo keine hingehören J

Auf befehl hin soll dann das skript die daten wie unter Teil 3 beschrieben ausgeben

Teil 6:

Die volrlage in TEXT:

<html>
<!--#include virtual="/skins/ssi.header.html"-->
</font>
<!-- begin Skinnummer + Links//-->
<p align="right"><font face="arial Black" Size="-2">Skin ZAHL - ZAHL of GESAMT</font></p><br>
<p align="center"><font face="Arial Black" size="+2">[KATEGORIE]</font></p>
<!-- End Skinnummer + Links //-->

<!-- Begin Skins //-->
<table border="0" width="80%">
HIER KOMMEN DIE SKINS REIN wie HTML code in teil5
</table>
<!-- End Skins //-->

<!-- Begin Footline //-->
<br>
<font size="-1">
<a href="BACK.shtml">[LAST]</a>
<a href="NEXT.shtml">[NEXT]</a>
</font>
<!-- End Footline //-->
<!--#include virtual="/skins/ssi.footer.html"-->
</html>

Kompliziert? JA
Schwierig? ZIEMLICH SICHER
Unlösbar? Glaub ich nciht :)

Bitte teilt mir eure gedanken mit :)

MFG and CU
Rufinus

  1. hi!

    Teil 1:
    Ein Vorgegebenes Verzeichnis wird Durchsucht und Indexiert -> Namen der Dateien Merken,
    Größe Bestimmen, -> .zip löschen -> zweites Verzeichniss wird durchsucht und indexiert ->
    .jpg löschen

    Die Dateinamen in einer Liste zu speichern funktioniert so:
      @zipfiles = <*.zip>;
      @jpgfiles = <*.jpg>;
    Die Frage ist jetzt, wie man die Dateiendungen dabei löscht. Dies kannst du zum Beispiel machen, indem du eine for-Schleife bastelst, die alle Elemtente einer Liste einzeln durchgeht und die Endungen löscht. In einem Skalar die Endung zu löschen:
      s/..{3}$//;
    Funktioniert so allerdings nur, wenn sie aus drei Zeichen besteht.

    ->verzeichniss 1 mit Verzeichnis 2 Vergleichen, alle ungleichen resultate in ein
    Errorlog schreiben und bei folgender operation auslassen.

    Hm, da fällt mir jetzt auch nichts ein, vielleicht irgendwas mit Hashes, die als Schlüssel den Namen der Datei verwenden?

    Teil 2:
    Jedes File des 2 Verzeichnisses auflisten (einzeln) als Bild (da JPG) Auf user eingabe
    warten Per PullDown menü aus den Kategorien auswählen (Teil 4) nachauswahl nächstes
    bild anzeigen. USW

    Du bastelst das Formular und verwendest ein verstecktes Feld, das die Nummer des aktuellen oder nächsten anzuzeigenden JPGs speichert:
      ... # Anfang der HTML-Ausgabe
      print "<img src="$jpgfiles[$nummer-1]">";
      print '<form action="script.pl" method="get">';
      print '  <select name="auswahl">
      ... # Ausgabe der Auswahlmöglichkeiten
      print '  </select>';
      print "  <input type="hidden" name="nummr" value="$nr">";
      print '</form>';
      ... # Ende der HTML-Ausgabe

    Teil3:
    Ausgabe der Daten in HTML Seiten.
    [...]
    Danach werden jeweils 10 skins pro Seite ausgegeben, Da das format der Skins inkl
    Download Button einwandfrei aus dem HTML Code hervorgeht braucht sich hier das SHSGP
    nicht darum zukümmern, es muß nur jeweils die daten hinzufügen.
    Ganz unten kommt noch ein BACK und NEXT Button der wie der name schon sagt auf die
    Letzte und Nächste Seite verweist.

    Du speicherst einfach immer in einer Variablen, bei welchem Bild du gerade bist. Dann sollte das eigentlich kein Problem mehr für dich darstellen :-)

    Teil 6:
    Die volrlage in TEXT:

    Ich würde zwei Vorlagen erstellen: eine, die den HTML-Code *über* dem dynamisch eingefügten bereitstellt, und eine für den HTML-Code *darunter*. Das ist einfacher zu programmieren.

    Ich hoffe, ich habe dein Problem richtig verstanden, und du kannst mit meiner Antwort was anfangen und das Skript jetzt selbst programmieren :-)

    bye, Frank!