AGB  ·  Datenschutz  ·  Impressum  







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

Code kürzen

Ein Thema von Die Muhkuh · begonnen am 23. Jan 2005 · letzter Beitrag vom 24. Jan 2005
Antwort Antwort
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: Code kürzen

  Alt 24. Jan 2005, 07:46
Zitat von Spider:
Wie könnte man das ganze kürzen:

Delphi-Quellcode:
if (Pos('.asm', FileName) > 0) then
    GetDoc.Code.Highlighter := SynAsm
  else
  if (Pos('.cs', FileName) > 0) then
    GetDoc.Code.Highlighter := SynCS
  if (Pos('.c', FileName) > 0) or
    (Pos('.cpp', FileName) > 0) or
    (Pos('.h', FileName) > 0) or
    (Pos('.hpp', FileName > 0) then
    GetDoc.Code.Highlighter := SynCpp
Das ist jetzt nur ein kleines Stück davon. Das geht so noch weiter. Wie kann man das kürzen? Geht das überhaupt?
Ja, nämlich wenn man vorher noch eine Hilfsfunktion deklariert:
Delphi-Quellcode:
function StrIdx(str: string; strArr: array of string): Integer;
var si: Integer;
begin
 Result:= -1;
 for i:=0 to High(strArr) do
  if str= strArr[si] then begin
   Result:= si;
   Break;
  end;
end;

...
//Abfrage
case StrIdx( Endung, ('.asm','.cs','.c','.cpp','.h','.hpp')) of
 0: GetDoc.Code.Highlighter := SynAsm;
 1: GetDoc.Code.Highlighter := SynCs;
 2..5: GetDoc.Code.Highlighter := SynCpp;
end;
Die string-Varaible Endung muss dann allerdings schon die Dateieindung enthalten, was man ja mit ExtractFileExt-Funktion machen kann.
Statt ('.asm','.cs','.c','.cpp','.h','.hpp') zu verwenden, könnte man auch eine Array of string-Konstante deklarieren und diese verwenden.

MfG
Binärbaum
//Edit: Da war noch ein Fehler im Code.
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz