Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Code-Formatierung (https://www.delphipraxis.net/147439-code-formatierung.html)

Amateurprofi 8. Feb 2010 17:44


Code-Formatierung
 
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.

omata 8. Feb 2010 17:50

Re: Code-Formatierung
 
Zitat:

Zitat von Amateurprofi
Kennt ihr das Problem ?



Zitat:

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

Amateurprofi 8. Feb 2010 17:56

Re: Code-Formatierung
 
Zitat:

Zitat von omata
Zitat:

Zitat von Amateurprofi
Kennt ihr das Problem ?



Zitat:

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.

Sir Rufo 8. Feb 2010 18:00

Re: Code-Formatierung
 
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

Amateurprofi 8. Feb 2010 18:12

Re: Code-Formatierung
 
Zitat:

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.

Medium 8. Feb 2010 18:32

Re: Code-Formatierung
 
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 :)

omata 8. Feb 2010 18:35

Re: Code-Formatierung
 
Zitat:

Zitat von Amateurprofi
... Das nenne ich optimal arbeiten.

Also ich tippe so schnell, dass das nicht weiter ins Gewicht fällt, sorry.

Amateurprofi 8. Feb 2010 18:53

Re: Code-Formatierung
 
Zitat:

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.

s-off 8. Feb 2010 19:04

Re: Code-Formatierung
 
Zitat:

Zitat von Amateurprofi
Zitat:

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 ?

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.

himitsu 8. Feb 2010 19:05

Re: Code-Formatierung
 
Delphi 7:

Tools > Editor-Optionen > Quelloptionen
> Einzug mit Tabs > deaktiviert
> Tab-Zeichen anzeigen > vielleicht mal aktivieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 1 von 4  1 23     Letzte »    

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