AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Code-Formatierung

Ein Thema von Amateurprofi · begonnen am 8. Feb 2010 · letzter Beitrag vom 11. Mär 2010
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#1

Code-Formatierung

  Alt 8. Feb 2010, 17:44
Kennt ihr das Problem ?
Ihr wollt ein Code-Fragment in die DP stellen. Schnell gemacht
1) Text markieren
2) Ctrl-C
3) Zur DP wechseln
4) Ctrl-V
5) Delphi-Code klicken
6) Ärgern und "zu Fuß" Tabs entfernen und durch entsprechende Blanks ersetzen.

Das nachstehende kurze Programm ersetzt in einem im Clipboard stehenden Text Tabs durch Blanks und
stellt den geänderten Text wieder ins Clipbord.
Bevor jetzt jemand mit StringReplace etc. kommt : Die Tabs werden so durch
Blanks ersetzt, daß der folgende Text an der nächsten definierten Tab-Position
steht.
Bei mir ist für Tabstops 3 eingestellt, andere bevorzugen 2 oder noch was anderes.
Dies kann durch ändern der Konstanten "tablen" eingestellt werden.

In Zukunft wird in obigen Ablauf Punkt 3.5 ReplaceTabs klicken eingefügt, dafür entfällt der
lästige Punkt 6.

Vielleicht kann der eine oder andere das auch gebrauchen.

Delphi-Quellcode:
program ReplaceTabs;

{$APPTYPE CONSOLE}

uses
  SysUtils, ClipBrd;

const
   tablen=3;

FUNCTION Replace(const s:string):string;
var ps,pr:PChar; len:integer;
begin
   SetLength(result,Length(s)*tablen);
   if s='then exit;
   ps:=PChar(s);
   pr:=pChar(result);
   len:=0;
   repeat
      case ps^ of
         #9 : begin
                        len:=tablen-len mod tablen;
                        while len>0 do begin
                           pr^:=' ';
                           inc(pr);
                           dec(len);
                        end;
                     end;
         #10,#13 : begin
                        pr^:=ps^;
                        inc(pr);
                        len:=0;
                     end;
         else begin
                        pr^:=ps^;
                        inc(pr);
                        inc(len);
                     end;
      end;
      inc(ps);
   until ps^=#0;
   pr^:=#0;
   SetLength(result,Integer(pr)-Integer(PChar(s)));
end;

begin
   with ClipBoard do if HasFormat(1) then AsText:=Replace(AsText);
end.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Code-Formatierung

  Alt 8. Feb 2010, 17:50
Zitat von Amateurprofi:
Kennt ihr das Problem ?


Zitat von Amateurprofi:
6) Ärgern und "zu Fuß" Tabs entfernen und durch entsprechende Blanks ersetzen.
Man programmiert nicht mit Tabs.

Zum Einrücken in Delphi gibt es die Tasten Strg + Shift + U/I
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Code-Formatierung

  Alt 8. Feb 2010, 17:56
Zitat von omata:
Zitat von Amateurprofi:
Kennt ihr das Problem ?


Zitat von Amateurprofi:
6) Ärgern und "zu Fuß" Tabs entfernen und durch entsprechende Blanks ersetzen.
Man programmiert nicht mit Tabs.

Zum Einrücken in Delphi gibt es die Tasten Strg + Shift + U/I
"Man" nicht und du nicht.
Du drückst immer 3 Tasten (statt einer). Das nenne ich optimal arbeiten.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Code-Formatierung

  Alt 8. Feb 2010, 18:00
Vielleicht haben wir die Editor-Einstellungen ja auch nur richtig gesetzt

Optionen - Editor-Optionen - Quelloptionen (Delphi 2010)

Da kann man das Verhalten (mit/ohne TAB) einstellen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Code-Formatierung

  Alt 8. Feb 2010, 18:12
Zitat von Sir Rufo:
Vielleicht haben wir die Editor-Einstellungen ja auch nur richtig gesetzt :mrgreen:

Optionen - Editor-Optionen - Quelloptionen (Delphi 2010)

Da kann man das Verhalten (mit/ohne TAB) einstellen
99 % der User (unter anderen ich) haben kein Delphi 10.
Deshalb : kannst Du mir erklären, was man da genau einstellen kann ?
Die Optionen, die Delphi 2005 bietet (vorsichtig gesagt, die, die ich kenne) bieten mir keine zufriedenstellenden Möglichkeiten.
Und offensichtlich haben diverse andere User das gleiche Problem.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Code-Formatierung

  Alt 8. Feb 2010, 18:32
Wenn ich nicht irre, empfiehlt auch der Styleguide Einrückung mittels 2x Leerzeichen pro Blocktiefe, und Vermeidung von Tabs in Delphi Quellcode. Und sogar mein Delphi 7 ist intelligent genug, den Cursor auf die zuletzt eingerückte Spalte zu setzen wenn ich die vorige mit einem beherzeten Enter abschließe - also nix mit vielen Tasten drücken
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Code-Formatierung

  Alt 8. Feb 2010, 18:35
Zitat von Amateurprofi:
... Das nenne ich optimal arbeiten.
Also ich tippe so schnell, dass das nicht weiter ins Gewicht fällt, sorry.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Code-Formatierung

  Alt 8. Feb 2010, 18:53
Zitat von Medium:
Wenn ich nicht irre, empfiehlt auch der Styleguide Einrückung mittels 2x Leerzeichen pro Blocktiefe, und Vermeidung von Tabs in Delphi Quellcode. Und sogar mein Delphi 7 ist intelligent genug, den Cursor auf die zuletzt eingerückte Spalte zu setzen wenn ich die vorige mit einem beherzeten Enter abschließe - also nix mit vielen Tasten drücken :)
Ja, und weil die lieber Styleguides schreiben, statt Programme, gab es zu Delphi 10 schon 4 (oder waren es 5 ?) Updates, bevor das Jahr 2010 begonnen hatte.
Auch bei mir springt der Cursor nach Enter auf die letzte Einrückung. Und genau das ist eines der Probleme. Zum Beispiel, wenn ich hinter einem begin Enter drücke, springt er unter das b, ich hätte ihn aber lieber unter dem i, also drücke ich die Tab-Taste, alternativ 3 x Blank.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
s-off

Registriert seit: 20. Jan 2010
89 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Code-Formatierung

  Alt 8. Feb 2010, 19:04
Zitat von Amateurprofi:
Zitat von Sir Rufo:
Vielleicht haben wir die Editor-Einstellungen ja auch nur richtig gesetzt

Optionen - Editor-Optionen - Quelloptionen (Delphi 2010)

Da kann man das Verhalten (mit/ohne TAB) einstellen
99 % der User (unter anderen ich) haben kein Delphi 10.
Deshalb : kannst Du mir erklären, was man da genau einstellen kann ?
Das kann man schon seit Urzeiten einstellen; nicht erst ab Delphi 2010. Es geht einfach nur darum, wie die IDE die TAB-Taste interpretiert. Als richtiges Tab, oder als x Blanks. Und aufgrund der von Dir genannten Probleme sollte man zu der Blanks-Variante greifen. Da brauchst Du nicht dreimal die Leertaste drücken, wenn Du drei Leerzeichen haben möchtest.
Gruß
s-off
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#10

Re: Code-Formatierung

  Alt 8. Feb 2010, 19:05
Delphi 7:

Tools > Editor-Optionen > Quelloptionen
> Einzug mit Tabs > deaktiviert
> Tab-Zeichen anzeigen > vielleicht mal aktivieren
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz