Sahanya

Freitag, 12. 11. 2004

ASCII

Filed under: — Sahanya @ 20:08

Word hat einige Stolpersteine eingebaut, die das Suchen und Ersetzen von mehreren aufeinander folgenden Absatzmarken etwas erschweren. Durch das Ersetzen mit ASCII-Code und der Umwandlung eines Kommas in ein Semikolon wird es allerdings wieder machbar.

(weiterlesen…)

Freitag, 22. 10. 2004

Suche und Ersetzen

Filed under: — Sahanya @ 18:01

Mal was ganz einfaches zum Anfang. Wenn man Suche-Ersetze-Routinen mit dem Makro-Rekorder aufzeichnet, bekommt man einen Code, der ganz leicht ins uferlose wÀchst, insbesondere dann wenn man in Dokumenten sehr viel suchen und ersetzen möchte.

KĂŒrzer geht es, wenn man sich ein Makro erstellt, das nur die Suchroutine enthĂ€lt und dann ein Extra-Makro, innerhalb dessen dann die Suche-Ersetze-Begriffe „aufgelistet” sind, die dann auf das Suche-Ersetze-Makro zugreifen. Noch ĂŒbersichtlicher wird das ganze, wenn man das Suche-Ersetze-Makro in ein eigenes Modul einfĂŒgt.

(weiterlesen…)

Dienstag, 12. 10. 2004

VBA

Filed under: — Sahanya @ 20:12

Da ich mich in den letzten Monaten sehr intensiv mit VBA (insbesondere fĂŒr Word) beschĂ€ftigt habe, ist mir aufgefallen, dass es relativ wenige gute und ausfĂŒhrliche Quellen (im Gegensatz zu VBA in Verbindung mit Excel) dazu im Netz gibt, insbesondere deutschsprachige.

FĂŒr alle, die auch auf der Suche sind, hier eine kleine, persönliche Linkliste (und in KĂŒrze auch etwas „Code”):

Word FAQ
Eine sehr umfangreiche Sammlung mit Lösungen (auch ohne VBA) fĂŒr Word und eine wahre Fundgrube, obwohl man natĂŒrlich das richtige Stichwort kennen muss.

Word MVP
Eine sehr umfangreiche Seite mit allen möglichen Lösungen fĂŒr Word (auch ohne VBA). Die VBA-Tipps befinden sich unter dem MenĂŒpunkt FAQs. Leider auf englisch, aber wie ich finde ein Muss.

VB Tips
Linkliste zu verschiedenen VBA-Lösungen.

Google-Newsgroup
deutschsprachige Newsgroup

Sonntag, 30. 05. 2004

Mit Dateien und Ordnern arbeiten

Filed under: — Sahanya @ 14:08

Wie man Dateien einliest und erstellt habe ich ja schon hier behandelt und wie man sie auf verschiedene Eigenschaften testet hier. Jetzt geht es darum, wie man Dateien und Ordner erstellt, löscht, kopiert oder umbenennt und wie man dabei in Verzeichnissen navigiert.

(weiterlesen…)

Donnerstag, 20. 05. 2004

Ausgabeformat

Filed under: — Sahanya @ 13:18

Möchte man das Ausgabeformat einer Eingabe (im Folgenden die Datei themen.txt) beeinflussen hilft einem format weiter.

(weiterlesen…)

Montag, 17. 05. 2004

Dateien testen

Filed under: — Sahanya @ 20:45

Dateien können auf die unterschiedlichsten Sachen hin getestet werden. Dazu zĂ€hlt insbesondere das ÜberprĂŒfen, ob es diese Datei schon gibt (-e), um ein Überschreiben zu verhindern. Außerdem kann man auch testen, ob eine Datei ĂŒberhaupt lesbar (-r) bzw. ausfĂŒhrbar (-x) ist und wann sie das letzte mal geĂ€ndert (-M) wurde.

Eine AusfĂŒhrliche Liste findet man hier. Und hier ein praktisches Beispiel:

(weiterlesen…)

Kontrollstrukturen II

Filed under: — Sahanya @ 20:04

Eine ErgÀnzung zu Kontrollstrukturen bzw. Schleifen, sind die Befehle last, redo und next .

(weiterlesen…)

Sonntag, 02. 05. 2004

Bedingungen und Schleifen/Kontrollstrukturen

Filed under: — Sahanya @ 11:00

Um nur unter bestimmten Bedingungen Teile eines Perlskriptes zu aktivieren, verwendet man die folgenden AusdrĂŒcke: if ... else, if ... elsif ...else, unless, while, until, for, foreach. Hier einige Beispiele:

(weiterlesen…)

Subroutinen

Filed under: — Sahanya @ 09:56

Subroutinen rufen Anweisungen auf, die an einer anderen Stelle im Programm definiert werden. Dies geschieht meistens entweder am Ende oder am Anfang.

Subroutinen geben dabei immer ihren letzten Wert aus. Hier einige Beispiele fĂŒr den Umgang mit Subroutinen:

(weiterlesen…)

Montag, 26. 04. 2004

Split und Join

Filed under: — Sahanya @ 19:37

Um eine Zeichenkette in einer Variablen aufzuteilen und sie in eine Liste bzw. ein Array einzufĂŒgen wird die Funktion split verwendet. Im folgenden wird aus $a immer @worte qw = ("Sahanya" "lernt" "PHP").

$a = "Sahanya-lernt-PHP";
@worte = split (/-/,$a);
entfernt Bindestriche

$a = "Sahanya lernt PHP";
#@worte = split (/\s+/,$a);
entfernt Leerzeichen

Arbeitet man mit der Standardvariable $_ und möchte dort Leerzeichen entfernen, geht das so:

$_ = "Sahanya lernt PHP";
@worte = split;

Umgekehrt kann man mit join auch Werte aus Listen bzw. Arrays durch Trennzeichen in eine Skalarvariable schreiben:

@worte = qw (
Sahanya
lernt
PHP
);
$a = join (" ",@worte);

Also ist jetzt $a = "Sahanya lernt PHP"

Andere Perl-Themen

Sonntag, 25. 04. 2004

Ersetzen

Filed under: — Sahanya @ 13:03

Das Ersetzen von einzelnen Zeichen oder auch Mustern habe ich ja schon vereinzelt angesprochen, hier jetzt einige ErgÀnzungen:

$_= "Sahanya lernt PHP";
s/a/o/;
print $_;
#Sohanya lernt PHP (ersetzt wird nur das erste a)

$_= "Sahanya lernt PHP";
s/a/o/g;
print $_;
#Sohonyo lernt PHP (es werden alle as ersetzt)

$_= "Sahanya lernt PHP";
s/h/y/g;
print $_;
#Sayanya lernt PHP (es werden alle hs ersetzt)

$_= "Sahanya lernt PHP";
s/h/y/gi;
print $_;
#Sayanya lernt PyP (es werden alle hs ersetzt, egal ob groß oder klein)

$_= "Sahanya lernt PHP";
s/(\w+)/-$1-/g;
print $_;
#-Sahanya- -lernt- -PHP-

(weiterlesen…)

Samstag, 24. 04. 2004

Spezielle Variablen

Filed under: — Sahanya @ 19:01

Perl legt bestimmte Muster in Standard-Variablen ab, die sich allerdings immer wieder neu ĂŒberschreiben.

Eingaben, die keiner speziellen Variablen zugeordnet werden, werden zu $_.

Möchte man nur Teile einer Variable ausgeben, kann das so aussehen:

#!\usr\bin\perl -w
$_ = "Sahanya versucht PHP zu lernen";
/v.{3}ucht/;

print "$`\n"; Ausgabe: Sahanya (der Ausdruck vor dem gesuchten Wort)
print "$&\n"; Ausgabe: versucht (das gesuchte Wort)
print "$'\n"; Ausgabe: PHP zu lernen (der Ausdruck hinter dem gesuchten Wort)

Andere Perl-Themen

Muster

Filed under: — Sahanya @ 13:33

Verschiedene Muster können auf unterschiedliche Weise verwendet werden, z.B. um Ersetzungen vorzunehmen oder aber auch um diese in einer bestehenen Skalarvariable zu finden bzw. zu sehen, ob das Muster paßt ( =~ m/muster/) — m: match bzw. passen

(weiterlesen…)

Montag, 19. 04. 2004

Mit Hashs arbeiten

Filed under: — Sahanya @ 18:53

ErgÀnzung zum Beitrag Hash.

(weiterlesen…)

Montag, 12. 04. 2004

Mit Arrays arbeiten

Filed under: — Sahanya @ 22:03

Nachdem Arrays hier vorgestellt wurden, jetzt einige praktische Beispiele:

(weiterlesen…)

Sonntag, 11. 04. 2004

chop und chomp

Filed under: — Sahanya @ 14:04

Der Befehl chop entfernt das letzt Zeichen einer Skalarvariabel:

$a = "Sahanya";
chop ($a);
# Sahany (letzter Buchstabe fehlt)
chop ($a); #Sahan (“)

WĂ€hrend der Befehl chomp sich nur auf den Newline-Befehl \n bezieht.

Eine Eingabeaufforderung mit <STDIN> wird in der Regel mit chomp beendet, um sicherzustellen, dass das Newline-Zeichen entfernt wird:

$eingabe = <STDIN>;
chomp $eingabe;

Das ganze geht aber auch kĂŒrzer:

chomp ($eingabe = <STDIN>);

Manchmal sollte bzw. muss man allerdings nach einer Eingabeaufforderung auch auf den chomp-Befehl verzichten, z. B. wenn man möchte, dass ein Wert in getrennten Zeilen untereinander ausgegeben wird.

(weiterlesen…)

Vergleichsoperatoren

Filed under: — Sahanya @ 10:32
Zahl Zeichen
gleich (equal) == eq
ungleich (not equal) != ne
kleiner als (lesser than) < lt
grĂ¶ĂŸer als (greater than) > gt
kleiner oder gleich (less or equal) <= le
grĂ¶ĂŸer oder gleich (greater or equal) >= ge

Vergleichsoperatoren fĂŒr Zahlen und Zeichenketten sollte man tunlichst nicht verwechseln, denn 5 ist kleiner als 20 >, aber 5 lt 20 ist nicht wahr, denn 2 kommt vor 5.

Andere Perl-Themen

Operatoren fĂŒr Zeichenketten

Filed under: — Sahanya @ 10:22

Ein Punkt hÀngt Zeichenketten aneinander, ein x gibt die Zeichenkette x-mal aus:

print "sahanya"."perun"; #sahanyaperun
print "sahanya"." "."perun"; #sahanya perun
print "sahanya" x 3; #sahanyasahanyasahanya
print 5 x 3; # 555

Setzt man Skalarvariablen bei der AneinanderhÀngung von Zeichenketten ein, sieht das ganze so aus:

$a = "sahanya";
$b = "perun";
$a = "$a"."$b";
print $a;
#sahanyaperun

KĂŒrzer geht die AneinanderhĂ€ngung von Zeichenketten auch so — anstatt der dritten Zeile im obigen Beispiel:

$a .= $b;

Andere Perl-Themen

Operatoren fĂŒr Zahlen

Filed under: — Sahanya @ 09:42

Um mit Zahlen zu rechnen kann man eigentlich seiner Intuition folgen :-) Damit das auch immer funktioniert, hier die Operatoren:

(weiterlesen…)

Freitag, 09. 04. 2004

Sonderzeichen

Filed under: — Sahanya @ 10:59

Gibt man in Perl Text innerhalb von doppelten AnfĂŒhrungszeichen ein, kann man zusĂ€tzliche Befehle durch die Abtrennung von einem Backslash anfĂŒgen:

Das einfachste Beispiel ist wohl "Hallo Welt\n"

Weitere Befehle sind …

(weiterlesen…)

Sonntag, 04. 04. 2004

Einfacher Umgang mit Dateien

Filed under: — Sahanya @ 16:36

Um eine vorher erstellte Datei einzulesen gibt man folgenden Code ein:

#!/usr/local/bin/perl -w

open (DATEILESEN,"test.txt") || die "geht nicht";
#öffnet dieses Datei oder Fehlermeldung
while (defined ($i = <DATEILESEN>)) { #gibt solange etwas aus bis kein Text mehr da ist
print $i }
close (DATEILESEN);
#schließt die Datei wieder

Möchte man, dass der Text der test.txt in eine ander Datei (hier test1.txt) kopiert wird, geht das so:

#!/usr/bin/perl -w

open (DATEILESEN,"test.txt") || die "einlesen geht nicht";
open (DATEISCHREIBEN, "> test1.txt") || die "schreiben funktioniert nicht";
while (defined ($i = <DATEILESEN>)) {
print DATEISCHREIBEN $i }
#schreibt das gefundene in die neue Datei
close (DATEILESEN);
close (DATEISCHREIBEN) || die "Fehler beim Schließen\n";

Möchte man, dass der Text in einer Datei nicht ĂŒberschrieben wird, sondern drangehĂ€ngt wird, muss man dem Dateinamen zwei > voranstellen.

Andere Perl-Themen

Freitag, 02. 04. 2004

Hash

Filed under: — Sahanya @ 18:13

Ein Hash ist ein Array mit assoziativen Elementen, d. h. diese stehen miteinander in Beziehung. Das einfachste Beispiel wĂ€re eine Liste mit Namen und den dazugehörigen Paßworten.


%hash = qw (
sahanya passwort1
perun passwort2
);

Angesprochen werden einzelne Elemente so:

(weiterlesen…)

Array

Filed under: — Sahanya @ 17:56

Ein Array besteht aus mehreren Variablen und ist wie folgt aufgebaut:

@array = "Sahanya", "Perun" oder einfacher

@array = (Sahanya Perun)

Möchte man auf einzelne Variablen zugreifen, so geht das mit einer sogenannten Indexreferenz:

$array[0] — hier wird auf Sahanya zugegriffen

$array[1] — hier wird auf Perun zugegriffen

Der Array kann auch als Indexreferenz zusammengefaßt werden und wird dann mit $array[$i] angesprochen. Einzelne Elemente wĂ€ren dann $i = 0 (Sahanya) bzw. $i = 1 (Perun).

Andere Perl-Themen

„flexible” Skalarvariablen

Filed under: — Sahanya @ 17:44

Möchte man bei der ÜberprĂŒfung von Skalarvariablen, die ĂŒber die Eingabe $name = <STDIN> erfolgt sind, z. B. bei der Frage nach einem Namen (hier fĂŒr das Beispiel Sahanya) mehrere Varianten zulassen, so gibt es folgende Möglichkeiten:

(weiterlesen…)

Hilfe

Filed under: — Sahanya @ 17:23

Möchte man, dass Perl einem eine Fehlermeldung ausgibt, die Hinweise auf Ursachen liefert, muss man die Eingangszeile um “-w” erweitern, so dass sie dann folgendermaßen aussieht:

#!/usr/bin/perl -w

Hilfe zu einzelnen Befehlen erhÀlt man, wenn man folgendes eintippt:

perldoc -f befehl

Andere Perl-Themen

 

Powered by WordPress | Angepasst von: www.vlad-design.de