Utils.pas
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
@Christian & @Schnullerbacke
Ich würde nicht das 'einfach reinpacken', sondern vielleicht gleich das ganze in strukturierter Weise angehen. Sonst kommt da innerhalb kürzerster Zeit - das hab ich nicht verbockt, das gehöhrt da nicht rein, ist ne alte Version,..
Vor allen, die Diskussionen 'Meiner ist länger, besser,... oder das hat dadrinne nichts verloren,...' sind entberlich. Jeder will was beitragen und zusätzlich sollte man nach fertigen Räder sehen können und sie nicht laufend selbst entwickeln.
Vor allem wenn die Paket auch von Namen und Version identifizierbar sind, dann haben wir sicherlich auch später was davon und wissen vielleicht wo welche Bugs noch schlummmern und ob sie in der aktuellen Version schon gefixt sind.
Q: Gibts begleitend zum Forum schon ein SVN bzw. in Abstimmung mit dem Lazarus-Mainforum einen Bereich ?
Ich bin zwar kurz bei Lazarus dabei, aber seit Jahrzehnten bei Pascal bzw. Delphi (Erster Kontakt mit Turbo Pascal 3.0 unter CPM auf ner 8080er CPU).
Würde auch gerne strukturiert meine Erfahrungen einfliessen lassen, da Pascal/Delphi/Lazarus neben meiner Arbeit auch noch Hobby geblieben ist.
Ich würde nicht das 'einfach reinpacken', sondern vielleicht gleich das ganze in strukturierter Weise angehen. Sonst kommt da innerhalb kürzerster Zeit - das hab ich nicht verbockt, das gehöhrt da nicht rein, ist ne alte Version,..
Vor allen, die Diskussionen 'Meiner ist länger, besser,... oder das hat dadrinne nichts verloren,...' sind entberlich. Jeder will was beitragen und zusätzlich sollte man nach fertigen Räder sehen können und sie nicht laufend selbst entwickeln.
Vor allem wenn die Paket auch von Namen und Version identifizierbar sind, dann haben wir sicherlich auch später was davon und wissen vielleicht wo welche Bugs noch schlummmern und ob sie in der aktuellen Version schon gefixt sind.
Q: Gibts begleitend zum Forum schon ein SVN bzw. in Abstimmung mit dem Lazarus-Mainforum einen Bereich ?
Ich bin zwar kurz bei Lazarus dabei, aber seit Jahrzehnten bei Pascal bzw. Delphi (Erster Kontakt mit Turbo Pascal 3.0 unter CPM auf ner 8080er CPU).
Würde auch gerne strukturiert meine Erfahrungen einfliessen lassen, da Pascal/Delphi/Lazarus neben meiner Arbeit auch noch Hobby geblieben ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
@af0815
Sind schon meistens Sachen, die eben leider bei Delphi (7 enterprise) auch schon nicht da waren. GetFileList(Path, Ext: string; const AList: TStringList) gabs z.B. auch in FileMisc nicht. Manchmal ist das aber ganz Hilfreich wenn man z.B. alle *.txt aus einem Verzeichnis braucht aber nicht über TFileDialog gehen will. Kann man auch noch so ändern, das es gleich noch Unterverzeichnisse mitnimmt.
Aber strukturiert ist schon recht, nur SVN könnte da nachteilig sein. Ich find das auch immer saublöd wenn man aus der Umbegung raus muß um nen CheckOut zu machen. Bei Delphi hatte ich den Jedi-Server laufen und den Client in der Oberfläche eingebunden, das geht nur leider für Linux wieder nicht. CVS ist da wohl für den Moment einfacher, weil es eben Clients für Windoofs und Linux (die Gleichen) gibt. WinCVS und gcvs sind das Gleiche in grün, damit wäre man also ganz gut bedient und "for free" gibt es die auch.
Bei den SVN-Clients siehts da schon schlechter aus. Jedenfalls ist mir noch kein Client untergekommen den es für beide BS gibt. Und MacOS darf man in dem Zusammenhang auch nicht vergessen.
So eine Integration in Lazarus wäre also bestimmt ne schöne Sache, beschleunigt ja auch die Arbeit nicht unerheblich.
Sind schon meistens Sachen, die eben leider bei Delphi (7 enterprise) auch schon nicht da waren. GetFileList(Path, Ext: string; const AList: TStringList) gabs z.B. auch in FileMisc nicht. Manchmal ist das aber ganz Hilfreich wenn man z.B. alle *.txt aus einem Verzeichnis braucht aber nicht über TFileDialog gehen will. Kann man auch noch so ändern, das es gleich noch Unterverzeichnisse mitnimmt.
Aber strukturiert ist schon recht, nur SVN könnte da nachteilig sein. Ich find das auch immer saublöd wenn man aus der Umbegung raus muß um nen CheckOut zu machen. Bei Delphi hatte ich den Jedi-Server laufen und den Client in der Oberfläche eingebunden, das geht nur leider für Linux wieder nicht. CVS ist da wohl für den Moment einfacher, weil es eben Clients für Windoofs und Linux (die Gleichen) gibt. WinCVS und gcvs sind das Gleiche in grün, damit wäre man also ganz gut bedient und "for free" gibt es die auch.
Bei den SVN-Clients siehts da schon schlechter aus. Jedenfalls ist mir noch kein Client untergekommen den es für beide BS gibt. Und MacOS darf man in dem Zusammenhang auch nicht vergessen.
So eine Integration in Lazarus wäre also bestimmt ne schöne Sache, beschleunigt ja auch die Arbeit nicht unerheblich.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
@alle
alles easy, es geht mir nicht um die Diskussion: CVS, SVN, Sourcesafe,... etc. sondern NUR darum, guten Code so gezielt und sauber wie möglich, strukturiert abzulegen. Von mir aus als tar, zip und weis der Henker. Was wichtig ist, meiner Meinung nach:
* Klare Lizenz (wie darf ich das verwenden)
* Wer ist Ansprechpartner (ergibt sich ev. aus der Lizenz)
* Klarer Inhalt (um was handelt es sich)
* Klare Ablagestruktur (was ist final, beta, alpha)
aber was erkläre ich, die meisten sind doch eh keine Neuling bei Projekten. ich denke daran, das sich auch später dann Personen orientieren können, die nicht gewöhnt sind, sich die Zusammenhänge aus den Sourcen mal schnell zu holen.
Ich nehme an, das man das ev. auch über die WissensDB bzw. die Downloadecke machen kann bis der Umfang ein anderes Managmentsystem bedingt.
Eventuell kann man ja, dann die Beiträge auch noch in die originale Lazarus Wiki einfliessen lassen.
@schnullerbacke
es gibt soviele Dinge die schön wären bei Lazarus, vielleicht helfen mal die kleinen Dinge (Code Snipets) um die großen irgendwann möglich zu machen. Aber ich muss ja jetzt nicht gleich das SVN (CVS,...) hineinprogrammieren, nur um paar Codestücke sauber abzulegen.
@alle
Programme mit 10tauseneden Zeilen haben meistens auch mit kleinen units angefangen, deswegen danke an Christian für den ersten Schritt.
Bezüglich jcl und Lazarus, warum nicht sehen, was geht. Nur dort habe oft das Problem, das die Routinen zwar super sind, aber die Doku dazu - sagen wir mal, spärlich ist. Das hat mich schon öfters abgehalten sie einzusetzen.
alles easy, es geht mir nicht um die Diskussion: CVS, SVN, Sourcesafe,... etc. sondern NUR darum, guten Code so gezielt und sauber wie möglich, strukturiert abzulegen. Von mir aus als tar, zip und weis der Henker. Was wichtig ist, meiner Meinung nach:
* Klare Lizenz (wie darf ich das verwenden)
* Wer ist Ansprechpartner (ergibt sich ev. aus der Lizenz)
* Klarer Inhalt (um was handelt es sich)
* Klare Ablagestruktur (was ist final, beta, alpha)
aber was erkläre ich, die meisten sind doch eh keine Neuling bei Projekten. ich denke daran, das sich auch später dann Personen orientieren können, die nicht gewöhnt sind, sich die Zusammenhänge aus den Sourcen mal schnell zu holen.
Ich nehme an, das man das ev. auch über die WissensDB bzw. die Downloadecke machen kann bis der Umfang ein anderes Managmentsystem bedingt.
Eventuell kann man ja, dann die Beiträge auch noch in die originale Lazarus Wiki einfliessen lassen.
@schnullerbacke
es gibt soviele Dinge die schön wären bei Lazarus, vielleicht helfen mal die kleinen Dinge (Code Snipets) um die großen irgendwann möglich zu machen. Aber ich muss ja jetzt nicht gleich das SVN (CVS,...) hineinprogrammieren, nur um paar Codestücke sauber abzulegen.
@alle
Programme mit 10tauseneden Zeilen haben meistens auch mit kleinen units angefangen, deswegen danke an Christian für den ersten Schritt.
Bezüglich jcl und Lazarus, warum nicht sehen, was geht. Nur dort habe oft das Problem, das die Routinen zwar super sind, aber die Doku dazu - sagen wir mal, spärlich ist. Das hat mich schon öfters abgehalten sie einzusetzen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Es denke, bei der utils handelt es sich um eine unit, die eine Funktionensammlung von nützlichen Funktionen beinhaltet. Von daher macht eine Sortierung nach alpha, beta, gamma in meinen Augen wenig Sinn.af0815 hat geschrieben:
* Klare Lizenz (wie darf ich das verwenden)
* Wer ist Ansprechpartner (ergibt sich ev. aus der Lizenz)
* Klarer Inhalt (um was handelt es sich)
* Klare Ablagestruktur (was ist final, beta, alpha)
Bin aber deiner Meinung, dass es schnell unübersichtlich werden kann, wenn wir die utils nicht anständig durchnummerieren. Aber vielleicht reicht es, wenn wir das Datum der Änderung sowie den Inhalt in den Dateikopf schreiben? Außerdem die Namen hinter die Funktionen der Autoren.
Wir sollten aber auch dafür sorgen, dass wir nicht in unnötiger Bürokratie versinken.
Wäre nur schnell mein Vorschlag. Was meint denn der Christian, von dem die Unit stammt?
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Dann böte sich wohl ne Trennung nach Funktionsgruppen an, das entspricht auch am ehesten dem methodischen Vorgehen. Etwa FileMisc, APIMisc, DateMisc, ConvertMisc usw.. Dann sieht man am Unit-Namen schon ein bißchen was man da wahrscheinlich findet.
Sobald ich etwas mehr Zeit hab werd ich mir mal Gedanken um die Integration von CVS/SVN in die Lazarus-Umgebung machen. Dergestalt, das sich das nachträglich integrieren läßt. Shared-Object sollte dann aber beim FPC schon richtig laufen, damit man nicht an einen Client gebunden ist. Wobei das im Moment eher nachrangig ist, "for free" gibt es da eh nicht viel Auswahl. Die GPL sollte aber schon eingehalten werden, sonst schert das aus dem FPC/Lazarus-Habitus aus, was wohl weniger gelungen wäre.
Dafür wären mal ein paar Hinweise gut, welche Clients im einzelnen verwendet werden. Bei SVN könnte man sich auf das Original beziehen, das gibt es zumindest für Win und Linux auch als Quellcode.
Sobald ich etwas mehr Zeit hab werd ich mir mal Gedanken um die Integration von CVS/SVN in die Lazarus-Umgebung machen. Dergestalt, das sich das nachträglich integrieren läßt. Shared-Object sollte dann aber beim FPC schon richtig laufen, damit man nicht an einen Client gebunden ist. Wobei das im Moment eher nachrangig ist, "for free" gibt es da eh nicht viel Auswahl. Die GPL sollte aber schon eingehalten werden, sonst schert das aus dem FPC/Lazarus-Habitus aus, was wohl weniger gelungen wäre.
Dafür wären mal ein paar Hinweise gut, welche Clients im einzelnen verwendet werden. Bei SVN könnte man sich auf das Original beziehen, das gibt es zumindest für Win und Linux auch als Quellcode.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Würde sich wohl anbieten bei sourceforge. Zunächst würde ich mal als Client RapidSVN empfehlen. Gibts für Linux und für Windoofs und hat ne ähnliche Oberfläche wie WinCVS (gcvs). Alle jeweils for free zu haben. Bei WinCVS braucht man aber noch Python dazu, allerdings hatte ich letztens Probleme die richtige Version zu finden, WinCVS fordert ne ziemlich alte Version.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
So, Leute ich hänge hier mal Testweise meine aktuelle Version der Utils.pas an. Unter Windows und gnome funktionieren die Routinen
GetProcessforExtension(InfoTyp : TProcessinfoTyp;Extension : string) : string;
und
GetMimeTypeforExtension(Extension : string) : string;
kann die bitte mal jemand unter Suse und Ubuntu im KDE testen ? Denke nicht das die dort funktionieren aber möglich ists ja. getProcessforExtension liefert ein Programm mit dem der übergebene Dateityp geöffnet werden kann und zwar das Standartprogramm...
Und GetMimetyp brauch ich wohl nicht zu erklären.
GetProcessforExtension(InfoTyp : TProcessinfoTyp;Extension : string) : string;
und
GetMimeTypeforExtension(Extension : string) : string;
kann die bitte mal jemand unter Suse und Ubuntu im KDE testen ? Denke nicht das die dort funktionieren aber möglich ists ja. getProcessforExtension liefert ein Programm mit dem der übergebene Dateityp geöffnet werden kann und zwar das Standartprogramm...
Und GetMimetyp brauch ich wohl nicht zu erklären.
- Dateianhänge
-
- Utils.pas
- (23.33 KiB) 127-mal heruntergeladen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/