Zeilennummerierung im Codeblock

Kritik und Vorschläge für dieses Board bitte hier rein.
Antworten
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Sonntag 12. Oktober 2003, 09:48

Ich hab hier mal was kniffliges fürs Forum selbst. Auf die Idee hat mich http://python.sandtner.net/viewtopic.php?t=908 Thread gebracht.

Es sollte möglich sein, in einem Codeblock eine Zeilennummerierung zu schalten, z. B. [ code LINE=50]text%[ /code] Die erste dargestellte Zeile entspricht der 50. Codezeile im Original.

Ist soewas realisierbar? Was meint piddon dazu

Hans
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Montag 13. Oktober 2003, 13:20

Hallo!
hans hat geschrieben:Es sollte möglich sein, in einem Codeblock eine Zeilennummerierung zu schalten, z. B. [ code LINE=50]text%[ /code] Die erste dargestellte Zeile entspricht der 50. Codezeile im Original.
So in etwa?

Code: Alles auswählen

33  def frame(root, side): 
34     w = Frame(root)
35     w.pack(side=side, expand=YES, fill=BOTH)
36     return w
37
Nett, aber man muss dann so mühselig die Zahlen wieder entfernen, wenn man mal den Code selbst testen will (nicht so mühselig, wenn der Editor das Markieren von Spalten unterstützt).

Jan
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Montag 13. Oktober 2003, 16:48

Genau so hatte ich das gedacht, denn was nützt mit die Zeilenangabe im Quelltext, wenn ich nur einen Teil des Codes sehe.
Voges hat volgendes geschrieben::
Nett, aber man muss dann so mühselig die Zahlen wieder entfernen, wenn man mal den Code selbst testen will
Ein guter Editor hilft da weiter, z. B. vim

Code: Alles auswählen

.,$s/^...//
Hans
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Montag 13. Oktober 2003, 16:54

Leider verwenden aber trotzdem nicht alle den VI(M). Ich hab ihn zwar sogar auch unter Windows installiert, nutze ihn aber nicht allzuoft. Ist es aber nicht möglich bei dieser Zusatzangabe zwei HTML-Tabellen nebeneinander zu erzeugen, in der linken die Zahlen und in der rechten der Code? Optisch macht das ja keinen Unterschied, aber beim kopieren nimmt der Browser halt nur die rechte Tabelle... (zumindest bei allen, die ich kenne)
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Montag 13. Oktober 2003, 17:09

Milan hat geschrieben:Ist es aber nicht möglich bei dieser Zusatzangabe zwei HTML-Tabellen nebeneinander zu erzeugen, in der linken die Zahlen und in der rechten der Code?
Oder eine Tabelle mit 2 Spalten. Gute Idee (hatte ich auch schon ;-) ). Sobald aber eine Codezeile so lang ist, dass der Browser sie umbricht, stimmt ab der Zeile die Nummerierung nicht mehr.

Jan
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Montag 13. Oktober 2003, 19:25

Voges hat geschrieben:Sobald aber eine Codezeile so lang ist, dass der Browser sie umbricht, stimmt ab der Zeile die Nummerierung nicht mehr.
Ich dachte, das innerhalb eines Codeblockes kein Zeilenumbruch erfolgt. Test war aber leider negativ. Ich habe aber schon Foren gesehen, die dieses Verhalten haben.

Ich denke, dass auf jedem Betriebssystem ein Browser mit Spaltenmarkierung oder Regular Expressions verfügbar ist. Ich denke es gibt genug Möglichkeiten.

Eine Alternative könnte sein, dass man auf Wunsch den Text in einem Extrafenster ausgibt, wo dann die Zeilennummerierung nicht mehr vorhanden ist. Das wäre dann wieder der alte Ausgangspunkt. Wenn PHP eine Zeilennummerierung reinbringen kann, dann kann PHP die auch genau so gut wieder entfernen.

Hans
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Montag 13. Oktober 2003, 20:52

Voges hat geschrieben:Oder eine Tabelle mit 2 Spalten. Gute Idee (hatte ich auch schon ;-) ). Sobald aber eine Codezeile so lang ist, dass der Browser sie umbricht, stimmt ab der Zeile die Nummerierung nicht mehr.

Meinte ich ja, eine Tabelle mit zwei Spalten. Pro linke Zelle eine Nummer, pro rechte eine Codezeile (die auch über mehrere Zeilen gehen kann, was sie aber im Pythonscript selbst nicht tut). Dann ist das doch auch kein Problem, mit dem automatischen Zeilenumbruch, oder? Weil RE müssen nicht erst jedem Nutzer des Forums geläufig sein, ehe er es mal schnell für ein paar Tests nutzen kann. Und ein neues Fenter wäre für mich auch keine echte Altenative, weil ich es gerne übersichtlich statt mit vielen Festern hab (sorry, Hans) :roll: :wink: .
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Montag 13. Oktober 2003, 21:03

Milan hat geschrieben:Meinte ich ja, eine Tabelle mit zwei Spalten. Pro linke Zelle eine Nummer, pro rechte eine Codezeile
Finde ich eigentlich nicht so gut. Eigentlich sollten doch Codezeilen so dargestellt werden, wie sie eingegeben wurden, also notfalls auch überlang. Dann muß man eben nach rechts scrollen.
Milan hat geschrieben:Und ein neues Fenter wäre für mich auch keine echte Altenative, weil ich es gerne übersichtlich statt mit vielen Festern hab (sorry, Hans) :roll: :wink: .
Ich glaub da hast du mich missverstanden. Was ich meinte war, dass durch anklicken eines Buttons / Links ein Popup Fenster (in diesem Fall wohl akzeptabel) mit dem Code ohne Zeilennummern aufgeht. Darin kannst du markieren, kopieren und wo anders einfügen.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Dienstag 14. Oktober 2003, 19:30

Ui, dann möchtest du genau das Gegenteil von mir (ich hba dich scon so verstanden, mit dem Popup) :roll: ... Naja, erst mal abwarten, was piddon dazu meint. :wink:
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Dienstag 14. Oktober 2003, 21:19

Wenn du PoUps nicht magst, wäre ja noch die Alternative, da ganze in einem neuen Tab aufzumachen. Dann muß der IE eben draußen bleiben /* bin nicht traurig drum */

Nebenfrage: Ist Tabbed Browsing eigentlich als Standard festgeschrieben?

Hans
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Mittwoch 15. Oktober 2003, 09:02

Warum denn nicht so: Dargestellt wird ein beliebig aufgepeppter Sourcecode, von mir aus farbig und mit Zeilennummern usw.

Dazu gibt es einen Downloadlink, wo man das reine Textfile bekommt, wie es eingegeben wurde. Diese Kopiererei aus dem Browser ist sowieso nervig. Keine Popups, keine Tabellen. Wie beim Python Cookbook beispielsweise.

Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Mittwoch 15. Oktober 2003, 17:52

Wenn immer der komplette Text angegeben würde, ist das Verfahren OK. Dann müßte die Datei aber als Attechment hochgeladen werden.

Leider haben wir es hier mit Codefargmenten zu tun. Da wird das nicht viel helfen. Das einzigste was ich erreichen möchte ist, dass wenn ein Fehler in Line 1138 gemeldet wird, dieser in einem 20 zeiligen Codefragment auch geortet werden kann.

Hans
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Mittwoch 15. Oktober 2003, 19:18

hans hat geschrieben:Das einzigste was ich erreichen möchte ist, dass wenn ein Fehler in Line 1138 gemeldet wird, dieser in einem 20 zeiligen Codefragment auch geortet werden kann.Hans
Ich fürchte nur, dass die Leute, die nicht dran denken, die Zeile mit dem Fehler zu markieren, so ein "kompliziertes" Feature erst recht nicht nutzen werden.
Jan
Antworten