Font
[thread]4502[/thread]

GED: Module und Namensräume: wie umgeht man Namenskonflikte?



<< |< 1 2 3 4 >| >> 35 entries, 4 pages
Crian
 2004-02-10 23:07
#39468 #39468
User since
2003-08-04
5867 articles
ModeratorIn
[Homepage]
user image
Ich verschieb den Thread mal ins Projektforum, ich denke da ist er gut aufgehoben... und ich hoffe es kommen noch viele Anregungen :)
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
Ishka
 2004-02-10 20:39
#39469 #39469
User since
2003-08-04
771 articles
HausmeisterIn
[Homepage] [default_avatar]
btw: beim Abspeichern gibts da ein kleiners Problem:
Error: Can't locate object method "for" via package "Kante" (perhaps you forgot to load "Kante" ?) at ged.pl line 3619.

http://www.cip.informatik.uni-muenchen.de/~barths/hp/s/indexdownloads.html
aber ich merk grad, daß die ganzen Links zu den Downloads tot sind (naja - man merks meiner Seite momentan sehr an, daß ich jedes mal, wenn ich schlechte Laune hatte, irgendwas am Basisscript geändert hab, aber nie die Zeit hatte, dafür zu sorgen, daß irgendwas funzt...). Werd ich jetzt mal ändern ;)
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Crian
 2004-02-10 23:06
#39470 #39470
User since
2003-08-04
5867 articles
ModeratorIn
[Homepage]
user image
Schick, jetzt gehts aber :)
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
Ishka
 2004-02-10 22:27
#39471 #39471
User since
2003-08-04
771 articles
HausmeisterIn
[Homepage] [default_avatar]
das mit den Links ist ein Beispiel für die lange Abstinenz der Seitenpflege.

Das mit der Page not Found ist ein ziemlich... nunja. Ich erklärs mal:
Die Tabelle außenrum wird von meinem eigenem Parser aus einer Liste {blah#blubb#} für jede Zeile erzeugt. Das # in der URL wird vom Parser in </td><td> umgewandelt...
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Ishka
 2004-02-11 16:27
#39472 #39472
User since
2003-08-04
771 articles
HausmeisterIn
[Homepage] [default_avatar]
Bugreport: wenn debug auf 0 steht wird immer noch alles mögliche ausgegeben.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Crian
 2004-02-11 18:02
#39473 #39473
User since
2003-08-04
5867 articles
ModeratorIn
[Homepage]
user image
Speicherformat XML könnte ich wohl problemfrei anbieten. Was ist YAML?
kommt auf die ToDo-Liste.

> wenn debug auf 0 steht wird immer noch alles mögliche ausgegeben.

ist in die Todoliste aufgenommen

> Wenn man zwei Verbindungslinien übereinander macht, können sie nicht mehr gelöscht werden.

Ja, dafür ist die Kantenlöschfunktion nicht gedacht. Deshalb braucht man dafür noch eine andere Funktionalität. Z.B. alle Kanten löschen, die sich in der Nähe des Cursors befinden. Diese Funktionalität fehlt noch, ist in die Todo-Liste aufgenommen.

[quote=ptk,11.02.2004, 16:27]- Du koenntest ruhig ein Makefile.PL anlegen. Das hilft zum einen dir beim Erzeugen einer Distribution (Stichwort: make dist) und auch dem Benutzer, der das Paket richtig installieren will.
[/quote]
Ja, das ist irgendwann in dieser oder anderer Form vorgesehen, wahrscheinlich nicht per Make, da nicht jeder Unixtools auf seinem Rechner hat.
Im Moment ist das Tool ja noch in der Entwicklungsphase, deshalb ist es so gedacht, dass man das Zip-File irgendwo auspackt und aus dem Verzeichnis heraus verwendet.

[quote=ptk,11.02.2004, 16:27]- Wenn du ged so angelegt hast, dass es auch nicht-installiert funktioniert soll, solltest du noch
Code: (dl )
use FindBin; use lib "$FindBin::RealBin";
an den Anfang von ged.pl schreiben. Dann funktioniert auch der Aufruf, wenn man sich nicht im ged-Verzeichnis befindet.
[/quote]
Ja guter Tipp, das habe ich bei den Tools die ich bei der Arbeti entwickelt habe auch gemacht. Bisher hatte ich die Notwendigkeit noch nicht, aber es tut ja nicht weh ;)
Ich habe es gerade eingebaut, wird in der nächsten Version dabei sein.
Frage: Warum RealBin? Ich nehm immer Bin dafür?!

[quote=ptk,11.02.2004, 16:27]- Alle Export- und Speicherfunktionen scheinen fuer den Dateinamen die Extension *ohne* Punkt anzuhaengen. D.h. wenn ich beim Speichern "bla" angebe, dann wird "blaged" daraus.
[/quote]
Nein, bei mir werden sie mit Punkten abgetrennt gespeichert und exportiert.
Aus bla wird bla.ged.

Arbeitest Du zufällig unter Linux? Die Dateispeicher-Funktionalitäten unterscheiden sich ja, kann sein, dass das daran liegt.
Der Dialog unter Windows macht es richtig, jedenfalls bei mir. Aber dem Problem kann man ja auch mal nachgehen.

[quote=ptk,11.02.2004, 16:27]- Wie ich sehe, erzeugt der LaTeX-Export nur eine Datei, die aus einer anderen Datei inkludiert werden muss. Richtig?
[/quote]
Ja, weil es mir nicht sinnvoll erschien, ein Dokument mit nur einem Graphen zu erzeugen. Und wer etwas mit der LaTeX Ausgabe angfangen kann, kann auch den Rahmen drummachen.
Aber ich könnte auf den geplanten Konfigurationsseiten dies einstellbar machen und auf Wunsch einen Dokumentrahmen drumherum ausgeben.
Fändest Du das sinnvoll? (Nehm ich mal an, weil Du es erwähnst.)

[quote=ptk,11.02.2004, 16:27]- Der Label mit dem blauen Hilfstext sollte linksbuendig gemacht werden (wahrscheinlich mit -anchor => "w").
[/quote]
Welcher Label? *such*
Meinst Du die Ausgaben rechts neben den Buttons?
Warum soll der rechtsbündig sein? mir gefällt er linksbündig eigentlich besser, aber ich werd nochmal drüber nachdenken.
Und ev. auch konfigurierbar machen.

[quote=ptk,11.02.2004, 16:27]- Gibt es eine Moeglichkeit, eine Operation abzubrechen, z.B. wenn ich "Kante einfuegen" auswaehle, den Anfangspunkt setze und dann abbrechen moechte. <Escape> koennte man verwenden, ausserdem ein Klick auf eine andere Operation.
[/quote]
Stimmt, das fehlt, kommt auf die ToDo-Liste.

[quote=ptk,11.02.2004, 16:27]- Die Fenster, die unterhalb von "Hilfe" erzeugt werden, muessen nicht unbedingt modal sein. Ich bin gerade die TODO-Liste durchgegangen und wollte dabei etwas in ged ausprobieren, aber leider geht das nicht, solange die TODO-Liste aktiv ist.
[/quote]
Ja Du hast Recht, ich hab das irgendwoher kopiert, wo ich einen modalen Dialog wollte. Für die Hilfe, ToDo etc ist es aber eher kontraproduktiv, wenn diese Modal sind.
-> kommt auf die Todo-Liste

[quote=ptk,11.02.2004, 16:27]- Drucken: unter Unix koennte man den Umweg ueber einen Postscript-Viewer gehen. D.h. Postscript in eine temporaere Datei schreiben und dann kghostview, ggv oder ghostview aufrufen, je nachdem, was vorhanden ist. Dort kann man meist den Drucker auswaehlen und hat gleich eine Druckansicht. Oder man verwendet kprinter nur fuer die Druckerauswahl (keine Ahnung, was man hier unter GNOME verwenden wuerde). Unter Windows ist die Sache schwieriger. Man koennte versuchen tkWinPrint von Tcl/Tk nach Perl/Tk zu portieren. Man koennte aus dem Graphen ein PDF erzeugen und dann mit PDF::Create oder aehnlichem ein PDF erzeugen und dann Acrobat Reader aufrufen.
[/quote]
Ja... das ist ein Thema, das ich irgendwann angehen muss. Aber dank Export nach LaTeX und ps war es bisher nicht dringend, abgesehen davon, dass ich im Moment keine Dokumente mit Graphen erstellen muss... ;)

[quote=ptk,11.02.2004, 16:27]- Das Pod koennte man per Tk::Pod direkt aus dem Hilfe-Menue anzeigen.
[/quote]
Oh, guter Tipp. Das wär aber nur sinnvoll, wenn in dem Pod inhaltliche Hilfe steht.


Vielen Dank, dass ihr GED so ausführlich testet / kommentiert, da macht es Spaß weiter daran zu entwickeln.
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
esskar
 2004-02-11 20:41
#39474 #39474
User since
2003-08-04
7321 articles
ModeratorIn

user image
ja... meinte XML...
hab mir die export daten vielleicht noch nicht richtig genau angeschaut, um den Aufwand beurteilen zu können
Crian
 2004-02-13 02:34
#39475 #39475
User since
2003-08-04
5867 articles
ModeratorIn
[Homepage]
user image
[quote=Ishka,12.02.2004, 18:20][quote=Crian,11.02.2004, 17:08][quote=Ishka,11.02.2004, 15:27]Bugreport: wenn debug auf 0 steht wird immer noch alles mögliche ausgegeben.[/quote]
Hast Du nur in der ged.pl debug auf Null gesetzt, oder auch alle Debugs in den Modulen?[/quote]
Nur in ged.pl[/quote]
Ich habs bei der letzten Version überall auf Null gesetzt und hoffentlich alle prints gefunden, die noch kein if ... dahinter hatten...

Wenn Dir noch Meldungen auffallen, bitte melden :)
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
Ishka
 2004-02-10 20:25
#39476 #39476
User since
2003-08-04
771 articles
HausmeisterIn
[Homepage] [default_avatar]
Wenn du nichts dagegen hast, werd ich von meiner Downloadseite aus ein Link auf deine Downloadseite setzen - ich find das Programm nämlich cool :) (vor 3 Jahren hätte ich das sogar mal brauchen können...)
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Crian
 2004-02-10 22:07
#39477 #39477
User since
2003-08-04
5867 articles
ModeratorIn
[Homepage]
user image
[quote=Ishka,10.02.2004, 21:01]Jetzt bist du auch auf meiner Downloadseite verlinkt und die Downloads funzen.
[/quote]
Schick :)

[quote=Ishka,10.02.2004, 21:01]Zu einem Punkt der Todo-Liste (- Kanten wahlweise so zeichnen, dass sie nur an die Ecken stoßen und nicht bis zum Mittelpunkt gehen! (Ohne die Verzierungen müsste man ja nur die beiden Ecken jeweils neuzeichnen).)
kennst du den Befehl
$canvas->raise(tagOrId, ?aboveThis?)
Move all of the items given by tagOrId to a new position in the dis­play list just after the item given by aboveThis.  If tagOrId refers to more than one item then all are moved but the relative order of the moved items will not be changed.  AboveThis is a tag or id;  if it refers to more than one item then the last (topmost) of these items in the display list is used as the destination location for the moved items.  Note: this method has no effect on window items.  Window items always obscure other item types, and the stacking order of window items is determined by the raise and lower widget commands, not the raise and lower methods for canvases.  This method returns an empty string.[/quote]
Das Problem sind die Pfeilspitzen. Die Kanten müssen dann echt kürzer gezeichnet werden. (Was nicht wild ist aber keine hohe Priorität hat...)

Zu einem anderen Punkt: "Tags" für Ecken zu vergeben finde ich eine gute Idee... jetzt wo ich endlich alles in Klassen aufgeteilt habe lassen sich die Ecken Und Kanten relativ einfach erweitern ohne 1000 Stellen im Code bedenken zu müssen.

Ich hatte auch an eine lassoartige Auswahlmöglichkeit für Ecken gedacht (man zeichnet eine  geschlossene Linie, alle Ecken im inneren werden dann selektiert...)

Funktionalitäten in Richtung (Fluß-) Netzwerken habe ich auch schon angedacht. Man kann da jetzt echt viel einbauen... man braucht nur die Zeit dazu ;) Aber das wird schon...

Ich will auch gerne eine Möglichkeit einbauen, eine Art von "Filmen" abzuspielen, die die Funktionsweise von Algorithmen veranschaulichen können.
Halt so Dinge die ich im Studium toll gefunden hätte :)

Wie ich sehe (und mich dabei erinnere das neulich schon gehört zu haben) bist Du auch ein Tanzfreund :) (Ich hab schon zweimal die Kurse bis zum Goldstar gemacht, einmal vor 18 Jahren, und einmal vor 5 oder so(?), beim ersten Mal hat mich die Tanzpartnerin, die beim Tanzen meine Freundin wurde, just verlassen, als wir in den Tanzkreis wechseln wollten. Beim zweiten Mal habe ich mit meiner damaligen Freundin nochmal von vorn angefangen, später hab ich mich dann getrennt.

Aber aller guten Dinge sind (mindestens) drei, morgen Abend ist die erste Stunde eines neuen Grundkurses mit meiner jetzigen Freundin, von der ich sehr hoffe, dass sie es lange mit mir aushält, vielleicht für immer (was auch immer dann so sein mag :-/ ) ... hmmm düstere Gedanken ... mag am unerbittlich herannahenden nächsten Geburtstag liegen (eeek nicht mal mehr drei Stunden wech...).\n\n

<!--EDIT|Crian|1076444231-->
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 3 4 >| >> 35 entries, 4 pages



View all threads created 2004-02-10 23:07.