Hallo,
ich habe aus einer Datei in die Listbox $liste_auswahldatei eingelesen:
1 beliebig Alpha beliebig beliebig
2 beliebig Bavaria-Camp beliebig beliebig
3 beliebig Arca beliebig beliebig
4 Alkoven Bavaria-Camp beliebig beliebig
5 beliebig Autoroller beliebig beliebig
Danach werden ein oder mehrere Zeilen der Listbox markiert; die markierten Einträge sollen in der Datei
geloescht werden.
Die laufenden Nummern sollen jedoch entsprechend korrigiert werden:
#####################################
Beispiel: markierte Einträge
2 beliebig Bavaria-Camp beliebig beliebig
3 beliebig Arca beliebig beliebig
Aussehen der Datei nach Lösch-Vorgang:
1 beliebig Alpha beliebig beliebig
2 Alkoven Bavaria-Camp beliebig beliebig
3 beliebig Autoroller beliebig beliebig
####################################################
Anbei noch ein Auszug aus meinem Code, in @array_file werden die übriggebliebenen Zeilen gesammelt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@zuloeschen = $liste_auswahldatei->curselection; ###Indizes der $liste_auswahldatei markierten Einträge
#$liste_auswahldatei->delete(0, "end");
if ( -s $file ) {
open(FILE,"<$file") || die $!;
while ( my $line = <FILE>) {
chomp $line;
@zeile = split ( /\t/, $line); ### einzelne Elemente durch tab getrennt
if ( ($#zuloeschen >= 0 ) && ( $zeile[0] == $zuloeschen[0]+1 ) ) {
shift @zuloeschen;
} else {
push(@array_file, $line); ### hier werden die nicht geloeschten Zeilen gesammelt
}
}## while
close(FILE);
} else {
$fehler->delete("1.0","end");
$fehler->insert("1.0","\n\nFehler !!!\n Die Masken-Datei\nfehlt\n\n");
} ## else
Sitz grad aufm Schlauch ....