IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage] [traduction] Structure SWITCH


Sujet :

Langage Perl

  1. #1
    rbh
    rbh est déconnecté
    Membre confirmé Avatar de rbh
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 384
    Points : 473
    Points
    473
    Par défaut [langage] [traduction] Structure SWITCH
    bonjour

    c'est encore moi qui demande de l'aide.
    je suis en train d'essayer de traduire un script perl en delphi

    dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    sub CreatePreviewInFolder {
      my ($path, @garbage) = @_;
      my @files = ();
     
      opendir(DIR, $path) || print FILE "can't read $path\n";
      @files = readdir(DIR);
      closedir(DIR);
     
     # my $job;
     
      foreach my $file( @files ) {
        next if (($file eq ".") or ($file eq "..") or($file eq ""));
        if (-d "$path\\$file") {
    	CreatePreviewInFolder("$path\\$file");
        } elsif( $file =~ m/.*\.dc/i ) {
          my $filepath = lc("$path\\$file");
          #$filepath =~ s/\ /\\\ /g;
          print FILE "test.exe \"$filepath\" -> " . $Types{$filepath} . "\n";
     
          if (exists $Types{$filepath}) {
    	SWITCH: {
    	    ($Types{$filepath} == 0) && do {
    	      my $job = Win32::Job->new;
    	      print FILE "manual mode\n";
    	(1)   $job->spawn(q{..\bin\CreateBmp.exe},  "CreateBmp \"$filepath\" 64 64 64 180 .jpg 1");
    	      $job->run(1000);
    	      last SWITCH;
    	    };
    	    ($Types{$filepath} == 1) && do {
    	(2)   my $job = Win32::Job->new;
    	      $job->spawn(q{..\bin\CreateBmp.exe},  "CreateBmp \"$filepath\" 64 64 64 64 .jpg");
    	      $job->run(1000); 
    	      last SWITCH;
    	    };
    	    ($Types{$filepath} == 2) && do {
    	      my $job = Win32::Job->new;
    	(3)   $job->spawn(q{..\bin\CreateBmp.exe},  "CreateBmp \"$filepath\" 64 64 64 180 .jpg");
    	      $job->run(1000); 
    	      last SWITCH;
    	    };
     
    	    print FILE "manual mode\n";
    	    my $job = Win32::Job->new;
    	(4) $job->spawn(q{..\bin\CreateBmp.exe},  "CreateBmp \"$filepath\" 64 64 64 180 .jpg 1");
    	    $job->run(1000);	  
    	}
     
          } else {
    	my $job = Win32::Job->new;
    	print FILE "manual mode\n";
    	(5)$job->spawn(q{..\bin\CreateBmp.exe},  "CreateBmp \"$filepath\" 64 64 64 180 .jpg 1");
    	$job->run(1000);
          }
     
          {	
    	$job = Win32::Job->new;
    	(6)$job->spawn(q{..\bin\IncludeBmp.exe},  "IncludeBmp \"$filepath\" .jpg");
    	$job->run(1000);
          }
          $jpeg = $filepath;
          $jpeg =~ s/\.dcd/\.jpg/i;
          $jpeg =~ s/\.dc/\.jpg/i;
          unlink $jpeg;
          #print "delete $jpeg";
          #print STDOUT "delete $jpeg";
        }
      }
    }

    je compte le nombre de spawn
    et j'aimerai savoir quand (equivalent algo)
    le 4ème, le 5ème et le 6ème spawn sont éxécuté.

    Merci.

  2. #2
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut
    je suis pas sur de bien comprendre la question, mais un switch perl c'est un CASE OF Delphi....regarde dans la FAQ Delphi ou sur internet au sujet des instructions Pascal

  3. #3
    rbh
    rbh est déconnecté
    Membre confirmé Avatar de rbh
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 384
    Points : 473
    Points
    473
    Par défaut
    merci beaucoup ça je le savais.

    ce que je ne comprend pas c'est la structure de celui la.

    on ne peut pas le traduire par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Case Type of
      0: {}; (1)
      1: {}; (2)
      2: {}; (3)
      //et la je bloque sauf 1
      else : {}; (5)
    je ne vois pas la condition qui faut pour le 4éme et le 6ème

  4. #4
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut
    désolé, mais je ne comprends pas ton problème.....si tu pouvais le clarifier

  5. #5
    rbh
    rbh est déconnecté
    Membre confirmé Avatar de rbh
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 384
    Points : 473
    Points
    473
    Par défaut
    mon problème :

    dans le code Perl, on trouve 6 spawn (j'ai édité mes messages pr les numéroter)
    or je ne trouve pas 6 cas pour le (SWITCH/CASE).

    le (4) est dans le SWITCH mais sans condition.

    le (6) est après le bloc exécuté dans le else du switch.

    ma question est donc dans quel condition sont éxécuté les (4) & (6)

  6. #6
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut
    ok, j'avais pas saisi...
    voilà comment je comprends ton code PERL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    BOUCLE FOR { 
        SI condition { 
       	expression 
        } 
        SINON, SI condition { 
    	expression
            SI condition { 
       		SWITCH:{
    			cas1{expression cas1} 
    			cas2{expression cas2} 
    			cas3{expression cas3} 
    			sinon{expression cas4} 
       		} 
          	} 
          	SINON { 
       		expression cas5
          	} 
          	expression cas6	
        } 
    }
    en espérant que ça t'aide
    PS : un lien sur l'instruction switch en PERL : http://www.mongueurs.net/perlfr/perlsyn.html#blocs de base et instruction switch

  7. #7
    rbh
    rbh est déconnecté
    Membre confirmé Avatar de rbh
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 384
    Points : 473
    Points
    473
    Par défaut
    merci

    a 2 developer delphi on a mis 3 h a un résultat sans etre sur qu'il était bon et apparemment il l'était pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Condition IF dans une structure SWITCH
    Par dar1953 dans le forum Android
    Réponses: 2
    Dernier message: 06/03/2013, 19h20
  2. [Langage]Traduction "si le tableau est vide"
    Par High Voltage dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2008, 15h51
  3. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2007, 15h06
  4. traduction structure en Delphi (suite)
    Par skywaukers dans le forum Delphi
    Réponses: 10
    Dernier message: 15/06/2007, 22h41
  5. Réponses: 9
    Dernier message: 14/01/2007, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo