Schrift
[thread]6084[/thread]

Sortierung: mal wieder... (Seite 2)

Leser: 1


<< |< 1 2 >| >> 20 Einträge, 2 Seiten
Robby
 2004-02-23 11:56
#80223 #80223
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
Hat sich erledigt....

$test = ' ... '

return eval $test;

und schon kann ich $test dynamisch zusammen bauen :D
Kaum macht man es richtig - schon funktioniert es!
Crian
 2004-02-23 12:34
#80224 #80224
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=Robby,23.02.2004, 10:06]Ich kann sicherstellen, das alle Werte numerisch sind :)[/quote]
Meine Frage war eigentlich, ob Du sicherstellen kannst, dass in den nicht-numerischen Spalten keine  (zwei) Einträge vorhanden sind, die rein numerisch sind ;)

Wenn das nämlich der Fall wäre, so hilft Dir nur Meta-Wissen oder aber eine Analyse vor dem eigentlichen Sortieren, nicht mehr der Test in der Vergleichsfunktion selbst. Denn dort würde er diese beiden Werte dann numerisch anstatt alphanumerisch vergleichen, und das könnte ev. zu komischen Effekte führen.\n\n

<!--EDIT|Crian|1077532570-->
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
Crian
 2004-02-23 12:37
#80225 #80225
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=Robby,23.02.2004, 10:06]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my @sorteddata = sort rulez1 @data;

...

sub rulez1
{
my $test;
if ( $a->[0] =~ /^[0-9]*$/ && $b->[0] =~ /^[0-9]*$/ )
{
$test = $a->[0] <=> $b->[0] || $a->[1] <=> $b->[1];
}
else
{
$test = $a->[0] cmp $b->[0] || $a->[1] cmp $b->[1];
}
return $test;
}
[/quote]
Eventuell solltest Du Komma, Tausenderpunkte und Unterstriche auch zulassen? Aber das hängt natürlich vom Anwendungsfall ab.

Könnte Dich nur irgendwann bei einer Wiederverwendung des Codes kalt überraschen ;)
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
Robby
 2004-02-23 13:50
#80226 #80226
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,23.02.2004, 11:37]Eventuell solltest Du Komma, Tausenderpunkte und Unterstriche auch zulassen? Aber das hängt natürlich vom Anwendungsfall ab.

Könnte Dich nur irgendwann bei einer Wiederverwendung des Codes kalt überraschen ;)[/quote]
Da hast Du sicherlich recht, aber fürs erste tut die Sortierung mal :)

Sobald alle Grundfunktionalitäten mal tun werde ich das ganze eh nochmal abklappern und überarbeiten müssen und ich werde Deinen Verschlag im Hinterkopf behalten ;)

Nach eine Frage hätte ich an alle (Designfrage):
Wie könnte ich bei einer Tablematrix (Excel-like) dem Benutzer eine praktische Möglichkeit geben über mehrere Spalten zu sortieren???

z.B.: zuerst nach Spalte 4 absteigend, dann nach Spalte 9 aufsteigend und dann nach Spalte eins absteigend sortieren ??? ???

Hab keine gute Idee bisher... :(
Kaum macht man es richtig - schon funktioniert es!
Crian
 2004-02-23 13:55
#80227 #80227
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
In Excel macht man das ja eigentlich durch Sortierung von hinten nach vorne... aber dafür hast Du ja nun gerade einen eleganteren Ersatz.

Entweder Du bietest einen Dialog, in dem man Spalten und Richtung auswählt, oder Du führst einen Extramodus ein, in dem man irgendwie die zu sortierenden Spalten anklickt.
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
Robby
 2004-02-23 14:04
#80228 #80228
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,23.02.2004, 12:55]In Excel macht man das ja eigentlich durch Sortierung von hinten nach vorne... aber dafür hast Du ja nun gerade einen eleganteren Ersatz.

Entweder Du bietest einen Dialog, in dem man Spalten und Richtung auswählt, oder Du führst einen Extramodus ein, in dem man irgendwie die zu sortierenden Spalten anklickt.[/quote]
Die Idee mit dem Extradialog hatte ich auch schon, wäre halt schön wenn man es "direkt" machen könnte, aber da fehlt mir halt die Idee dazu.

Extramodus zum Spalten Anklicken klingt gar nicht so schlecht...Einmal klicken aufsteigend, zweimal absteigend und sortieren in der Reihenfolge, wie sie geklickt worden sind....mmmmh
Kaum macht man es richtig - schon funktioniert es!
renee
 2004-02-23 14:12
#80229 #80229
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
dann würde ich aber noch die "Position" in der Reihenfolge, nach der die Spalten sortiert werden, über die Spalten schreiben. Dann verliert man auch bei 8 oder 9 Spalten nicht den Überblick, ob man auch alles in der richtigen Reihenfolge angeklickt hat...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Robby
 2004-02-23 14:22
#80230 #80230
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=renee,23.02.2004, 13:12]dann würde ich aber noch die "Position" in der Reihenfolge, nach der die Spalten sortiert werden, über die Spalten schreiben. Dann verliert man auch bei 8 oder 9 Spalten nicht den Überblick, ob man auch alles in der richtigen Reihenfolge angeklickt hat...[/quote]
genau so habe ich das gemeint gehabt. Über den Spalten sind dann Pfeile nach oben oder unten und eine Zahl die die Reihenfolge anzeigt. Und dann brauch ich einen Button "Jetzt Sortieren" und fertig....*uiuiui*
Kaum macht man es richtig - schon funktioniert es!
Crian
 2004-02-23 15:20
#80231 #80231
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Zusätzlich könntest Du den Inhalt der nicht zur Sortierung herangezogenen Spalten blasser darstellen ... :D

Und denk daran, dass man den Sortiervorgang auch abbrechen können will wenn man am Selektieren ist.\n\n

<!--EDIT|Crian|1077542484-->
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
Robby
 2004-02-23 15:33
#80232 #80232
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,23.02.2004, 14:20]Zusätzlich könntest Du den Inhalt der nicht zur Sortierung herangezogenen Spalten blasser darstellen ... :D[/quote]
Gehts Dir noch gut??

Wobei, bisher heb ich die eine Spalte, nach der Sortiert worden ist hervor mit einer anderen Farbe :)
Ist also im Prinzip schon das was Du meinst...
Kaum macht man es richtig - schon funktioniert es!
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2004-02-19 09:49.