Schrift
[thread]6079[/thread]

chdir & bilder

Leser: 3


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Gast Gast
 2004-02-17 15:05
#80179 #80179
hi,

beschäftige mich seit 1 woche mit perl ...

und habe folgende frage an euch

ich habe bilder in einem ordner die alle angezeigt werden sollen -> was soweit auch funktioniert.

nun möchte ich aber die ausgabe formatieren
das jeweils 2 bilder in einer zeile stehne dann immer soweiter.

wie könnte ich da am besten vorgehen.

zuersteinmal der :

# test
Code: (dl )
chdir("../../pics/$DD{id}");my(@bilder);push (@bilder, glob "*.jpg");push (@bilder, glob "*.gif");foreach my $bild (@bilder) {        print qq{<IMG SRC="../../pics/$DD{id}/$bild">};}

# test

wäre euch fortgeschrittenen dankbar
misuzu
 2004-02-17 15:41
#80180 #80180
User since
2004-02-17
16 Artikel
BenutzerIn
[default_avatar]
hier nochmal übersichtlicher ...

Code: (dl )
1
2
3
4
5
6
chdir("../../pics/$DD{id}");
my(@bilder);push (@bilder, glob "*.jpg");
push (@bilder, glob "*.gif");foreach my $bild (@bilder)
{
print qq{<IMG SRC="../../pics/$DD{id}/$bild">};
}
DemoFreak
 2004-02-17 15:49
#80181 #80181
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
In etwa so?
Code: (dl )
1
2
3
4
for (my $i = 0; $i < @bilder; $i++) {
   print qq{<IMG SRC="../../pics/$DD{id}/$bilder[$i++]">};
   print qq{<IMG SRC="../../pics/$DD{id}/$bilder[$i]\n">};
}
Gruss, Hannes
Strat
 2004-02-17 20:51
#80182 #80182
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wieso machst du da ein chdir?
Code: (dl )
1
2
3
4
5
6
7
my %DD = (.....);
my $dir = "/../../pics/$DD{id}";
my @bilder = ( glob("$dir/*.jpg"), glob("$dir/*.gif") );

foreach my $bild (@bilder) {
print qq~<img src="$bild">~;
}


eine Index-Schleife ist da wohl unnoetig
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
DemoFreak
 2004-02-17 23:12
#80183 #80183
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Quote
nun möchte ich aber die ausgabe formatieren
das jeweils 2 bilder in einer zeile stehne dann immer soweiter.


Deswegen die Indexschleife. Finde ich inzwischen auch herzlich uncool, aber wie geht es einfacher?\n\n

<!--EDIT|DemoFreak|1077052398-->
Gruss, Hannes
Strat
 2004-02-18 01:53
#80184 #80184
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auf die alte klassische?
Code: (dl )
1
2
3
4
5
6
my $flipFlop = 1;
foreach my $bild (@bilder) {
 print qq~<img src="$bild">~;
 print "<br>" if $flipFlop < 0;
 $flipFlop = - $flipFlop;
}

bei einer Indexschleife den Index in der schleife zu aendern halte ich fuer unschoen bis teilweise sogar gefaehrlich. Was passiert z.B, wenn @bilder keine gerade anzahl von Elementen hat? => undef...\n\n

<!--EDIT|Strat|1077062095-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
DemoFreak
 2004-02-18 14:36
#80185 #80185
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Stümmt. :)
Gruss, Hannes
Crian
 2004-02-18 15:16
#80186 #80186
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
oder

Code: (dl )
1
2
3
4
5
my $count = 0;
foreach my $bild (@bilder) {
print qq~<img src="$bild" />~;
print "<br />" if ++$count % 2;
}


oder

Code: (dl )
1
2
3
4
5
my $count = 0;
foreach my $bild (@bilder) {
print qq~<img src="$bild" />~;
print "<br />" if ++$count & 1 == 0;
}
\n\n

<!--EDIT|Crian|1077110961-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-02-18 17:16
#80187 #80187
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
oder:
Code: (dl )
1
2
3
4
5
6
my $ff=0;
my @p=("<br />","");
foreach my $bild (@bilder) {
  print qq~<img src="$bild" />~;
  print $p[$ff^=1];
}

crian, deine zweite lösung tut's bei mir nicht (keine <br>)\n\n

<!--EDIT|pq|1077117472-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Crian
 2004-02-19 11:57
#80188 #80188
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=pq,18.02.2004, 16:16]crian, deine zweite lösung tut's bei mir nicht (keine <br>)[/quote]
Hmmm ist auch ungetestet, die Idee war, abzufragen ob das letzte Bit 0 oder 1 ist, also quasi das gleiche, was auch %2 abtestet.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-02-17 15:05.