Perl in MFC
-
Hallo
ich habe ein Problem
ich habe ein vorhandenes Perl Script Welches Dateien analysiert und vergleiche anstellt und logs schreibt.
dies funktioniert recht gut.
Mein Problem jetzt aber
Ich habe eine GUI mit MFC erstellt. In dieser werden die Dateien erstellt, welche mit Perl behandele. Jetzt waehlt der User ja den Pfad in der GUI aus.
Jetzt weiss ja mein Perlscript ja den Pfad nicht. Wie "ubergebe" ich die Pfadangaben in Perl????
Ich habe mir gedacht, das das MFC Programm die Pfadangaben in
C:\Users
reinschreibt und Perl immer von da aus die Angaben nimmt.Aber ist eine unschoene Aktion finde ich.
Tausend Dank im voraus
-
Wenn du den Pfad zur PERL.exe in die path von Windows aufgenommen hast dann sollte der Pfad zu Perl gefunden werden.
Im Programm rufts du perl.exe \\pathdeinerscripte\script.pl
auf.
-
danke
aber so kann ich nur einen pfad mitteilen gell?
brauche aber mind. 3
eine z.b.
c:\Users\all_tests.txt
c:\Users\current_tests.txt
c:\Users\string_tests.txtwie mache ich das jetzt?
-
wem möchtest du was mitgeben?
möchtest du dem pl script mehrere dateipfade mitgeben, oder wie soll man das denn verstehen?
-
also ich glaub ich habs geschafft
$file = 'H:\\algorithmus\\Test1\\ Test_in_orginal\\'; $string_list = 'string.txt'; $string_list = $file.$string_list; $actual_list = 'actual.log'; $actual_list = $file.$actual_list; $target_list = 'target.txt'; $target_list = $file.$target_list; $result = 'result_new.txt'; $result = $file.$result_new.txt; $end_result = 'end_result_new.txt'; $end_result = $file.end_result_new.txt; # read all ( lines ) from string_list into an array names @string open (INstring, "$string_list") || die "Can't read this file. \n"; sub read_array_string { @string = <INstring>; foreach(@string) { $_ =~ s/ {2,}/ /gs; if($_ =~/Test/i) { } else { $_ =~ s/ //g; } }close(INstring); $max_entries_string = $#string + 1; } &read_array_string;z.b. so hab ichs es gemeint. natuerlich ist es jetzt nur ein open
ich hab ja den pfad in $file
was ist aber wenn es nicht in dem selben ordner ist, sondern in verschiedenen?ich hab in meinen script 8 verschiedene OUTfiles. wie mach ich das dann auch
ich geb ja z.b. fuer das zwischenergebnis einen pfad an ( in MFC ) fuer das endergebnis ein anderen pfad an.
die beiden waehle ich in MFC aus ( die pfadangaben )
ok bei mir sind die outfiles alle in dem selben ordner. was aber wenn nicht.
und wenn die dateien ( die .txt ) in verschiedenen ordnern sind und nicht im gleichen dann kann ich ja nicht machen
$file = 'H:\\algorithmus\\Test1\\ Test_in_orginal\\';sondern
$file1 = 'H:\\huhu\\Test1\\ Test_in_orginal\\'; $file2 = 'c:\\oh nein\\Test1\\ Test_in_orginal\\'; $file3 = 'c:\\szstem33\\Test1\\ Test_in_orginal\\';ich kann doch nur laut dem bsp von TOM
perl.exe \\pathdeinerscripte\script.pl #kann ich etwa auch machen perl.exe \\ c:\ordner1\datei1.txt \\ c:\ordner1\datei1.txt \my_script.pl und hab jetzt zugriff drauf mit $file1 = $_[0] ; $file2 = $_[1] ;
-
hui
weiss einer rat, oder ist es einfach nicht moeglich???
merci im voraus