AGB  ·  Datenschutz  ·  Impressum  







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

Highlight-Erkennung: Fehler ! Wo ?

Ein Thema von rebugger · begonnen am 4. Nov 2002 · letzter Beitrag vom 5. Nov 2002
Antwort Antwort
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#1

Highlight-Erkennung: Fehler ! Wo ?

  Alt 4. Nov 2002, 18:10
Delphi-Quellcode:
procedure TMain.GetDroppedFileNames(var msg : TWMDropFiles);
var
  sFileName,extension: string;
  dwFileCount,i,dwReqdLength: cardinal;
  code: TSynMemo;
begin
  dwFileCount := DragQueryFile(msg.Drop,$FFFFFFFF,nil,0);
  for i := 0 to dwFileCount - 1 do
    begin
      dwReqdLength := DragQueryFile(msg.Drop,i,nil,1);
      sFileName := StringOfChar(#00,dwReqdLength+1);
      DragQueryFile(msg.Drop,i,PChar(sFileName),dwReqdLength+1);

      code_count := code_count+1;
      newCode(code_count,sFileName, 'open');

      code := ActiveCode();
      extension := ExtractFileExt(sFileName);

      if Pos(extension,PHPhigh.DefaultFilter) > 0 then
        code.Highlighter := PHPhigh
      else if Pos(extension,HTMLhigh.DefaultFilter) > 0 then
        code.Highlighter := HTMLhigh
      else if Pos(extension,CSShigh.DefaultFilter) > 0 then
        code.Highlighter := CSShigh
      else if Pos(extension,SQLhigh.DefaultFilter) > 0 then
        code.Highlighter := SQLhigh
      else if Pos(extension,PERLhigh.DefaultFilter) > 0 then
        code.Highlighter := PERLhigh
      else if Pos(extension,JShigh.DefaultFilter) > 0 then
        code.Highlighter := JShigh
      else
        code.Highlighter := Nil;
    end;
end;
Der stellt mir, egal welcher Dateityp Highlighter auf Nil !
.DefaultFilter ist bei allen gefüllt !
Ich habe mir alles mal per MessageDlg() anzeigen lassen !
Defaultfilter ist folgendermaßen bei PHPhigh aufgebaut:
Code:
.php.php3.php4.phtml.inc
Wenn ich nun per Drag&Drop eine .php-Datei reinziehe, macht er keinen Highlighter !
Obwohl er richtig auswählt ! Das wundert mich...
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#2
  Alt 4. Nov 2002, 20:24
Hi rebugger,

das liegt daran, dass der String extension in jedem Fall nullterminiert ist und '.php'#0 eben nicht im Filter vorkommt. Das heißt, du muss deinen Filter entweder so umbauen, dass Nullterminierungen darin vorkommen:
Code:
PHPHigh.DefaultFilter := '.php'#0'.php3'#0'.php4'#0'.phtml'#0'.inc'#0;
oder du entfernst die Nullterminierung:
Code:
if (extension[Length(extension)] = #0) then
  extension := Copy(extension, 1, Length(extension) - 1);
MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
rebugger

Registriert seit: 29. Okt 2002
Ort: Auerbach
190 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 5. Nov 2002, 13:57
Wow, danke, habe die Nullterminierung genommen !
Läuft jetzt wirklich perfekt !
  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 17:32 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