Thread Einfache Datei-Operationen (29 answers)
Opened by geloescht at 2012-09-26 22:17

geloescht
 2012-09-27 16:53
#162101 #162101
User since
2012-06-19
141 Artikel
BenutzerIn
[default_avatar]
H topeg

Hab es so umgesetzt:

Code (perl): (dl )
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
26
27
28
29
30
31
32
33
34
35
36
37
38
$statusdatum = $Jahr.$Monat.$Monatstag;

copy('/home/ritter/Desktop/EZ-Datenverwaltung/kunden.csv' , '/home/ritter/Desktop/EZ-Datenverwaltung/Data-Backup/'.$statusdatum.'-backup-kunden.csv');
if ($! ne ""){
             warn("FEHLER => Sicherung der Kunden-Datenbank nicht möglich! / Systemmeldung: $!");
             print " \n";
             goto SicherungsCheck01;
             }
print "Kunden-Datenbank wurde gesichert... OK \n";
print " \n";

SicherungsCheck01:
copy('/home/ritter/Desktop/EZ-Datenverwaltung/kurzgeschichten.csv' , '/home/ritter/Desktop/EZ-Datenverwaltung/Data-Backup/'.$statusdatum.'-backup-kurzgeschichten.csv');
if ($! ne ""){
             warn("FEHLER => Sicherung der Kurzgeschichten-Datenbank nicht möglich! / Systemmeldung: $!");
             print " \n";
             goto SicherungsCheck02;
             }
print "Kurzgeschichten-Datenbank wurde gesichert... OK \n";
print " \n";

SicherungsCheck02:
copy('/home/ritter/Desktop/EZ-Datenverwaltung/kundencounter.csv' , '/home/ritter/Desktop/EZ-Datenverwaltung/Data-Backup/'.$statusdatum.'-backup-kundencounter.csv');
if ($! ne ""){
             warn("FEHLER => Sicherung der Kundenzähler-Datei nicht möglich! / Systemmeldung: $!");
             goto SicherungsCheck03;
             print " \n";
             }
print "Kundenzähler-Datei wurde gesichert... OK \n";
print " \n";

SicherungsCheck03:
print " \n";
print " \n";
print "Datensicherung beendet! [ENTER] \n";
$decider = <STDIN>;
goto HauptMenu;
exit;


Zur Gruselgeschichte wegen "goto":
Alle meckern _immer_ über "goto". Es ist eben so simpel zu benutzen. Und ob ich ein "sub", oder ein "goto" mache - ist doch fast dasselbe.

Das solche Strukturen "kompliziert" zu durchschauen sind ist wahrhaftig Fakt. Wenn ich aber an meine Ausbildungszeit zurück denke (Energieelektroniker Fachrichtung Anlagentechnik) fallen mir spontan diverse Stromlaufpläne ein, von denen ihr sofort "Augenkrebs" bekommen würdet. Ich habe die alte SPS-Variante noch erlernen dürfen. Mit Zeilennummern:

Code: (dl )
1
2
3
4
10 ...
20 ...
30 ...
40 ...


Und Zeitrelaisprogrammierung über eine For-Next Schleife. Hatte man die gewünschte Zeit durch ausprobieren der Schleifendurchläufe endlich raus, dachte man alles erledigt. Irgendwann wurde der Chip der SPS gewechselt - gegen einen schnelleren... Tja, was soll ich sagen, da waren halt 10 eingestellte Sekunden nur noch 2 Sekunden lang - Der Prozessor war beim Schleifendurchlauf eben schneller...

Wenn ich an die ganzen Steuerungen denke, wo diverse Sensoren und Mikroschalter mit in den Programmablauf einfliessen, ist eben mal ganz schnell fertig mit Struktur im Programm. Die heutigen Programme sind so umfangreich, da blick ein Servicetechniker auch nicht auf anhieb durch. Das einzig Wahre, was dir hilft, ist eine wirklich gute Doku, die dir Programmzeilengenau sagt, wo was passiert... Aber wie erwartet - sowas hat Seltenheitswert. Nicht zuletzt weil bei dem heutigen Preisdruck kaum noch jemand die Zeit hat, eine solche zu entwerfen...

Ups ich schweife ab.

Letzte Meldung: Die prekären Stellen wurden mit "?"-Zeichen für die DB Abfrage versehen. Alle Menüs laufen. Programm fertig zum Arbeiten. Die gesammten Eingabewerte sind "grob" geprüft. Wie gesagt, dass Programm nutze nur ich und event. später eine "Tippse" - die natürlich entsprechend unterwiesen wird.

Grüsse und Danke an _Alle_ !

HP-User

PS.: Es sind genau 2550 Zeilen Programmcode geworden - bei einem mittleren Kaffee-Verbrauch von 1 Tasse in 2 Stunden *lol*
Falls das Programm jemand sehen will, kann ich es als .txt-Datei auf den Server werfen und einen Link darauf setzen (Kann es ja dann ein zwei Tage stehen lassen)

PS:II:
Seit ihr ein Verein? Habt Ihr ein Spendenkonto?
Last edited: 2012-09-27 17:06:05 +0200 (CEST)
Past brought us "SYS 64738". Present brought us "ctrl+alt+del". But what will future bring?

View full thread Einfache Datei-Operationen