synedit - filtry?

0

Zrobiłem dynamiczne ładowanie filtrów do TOpenDialog i TSaveDialog z filtrów SynEdita (TSynCustomHighLighter.DefaultFilter) ... wygląda to tak:

dlgFileOpen.Filter := 'Dokumenty tekstowe (*.txt)|*.txt|';
  dlgFileSave.Filter := 'Dokumenty tekstowe (*.txt)|*.txt|';
  for i := 0 to Forma.ComponentCount - 1 do
  begin
    if (Forma.Components[i] is TSynCustomHighLighter) then
    begin
     dlgFileOpen.Filter := dlgFileOpen.Filter + (Forma.Components[i] as TSynCustomHighLighter).DefaultFilter + '|';
     dlgFileSave.Filter := dlgFileSave.Filter + (Forma.Components[i] as TSynCustomHighLighter).DefaultFilter + '|';
    end;
  end;
  dlgFileOpen.Filter := dlgFileOpen.Filter + 'Wszystkie pliki|*.*|';
  dlgFileSave.Filter := dlgFileSave.Filter + 'Wszystkie pliki|*.*|';

Nazwy filtrów są trzymane w pliku SynEditStrConst.pas - mimo, że zmieniam nazwy im na polskie, to część z nich dalej zostaje po angielsku.. np:

SYNS_FilterHTML = 'Dokumenty HTML (.htm,.html)|.htm;.html';

Działa dobrze, ale już...

SYNS_FilterPHP = 'Pliki PHP (.php,.php3,.phtml,.inc)|.php;.php3;.phtml;.inc';

wywala w Dialogach: "PHP Files... itd" - nie wiedzieć dlaczego??? :(

0

Nie bardzo rozumiem skąd w ogole biora sie tam jakiekolwiek polskie nazwy skoro nic nie zmieniałeś w źródłach SynEdit (ale być moze nie do końca zrozumiałem ten kod). Jakkolwiek polecam użycie debuggera z punktami przerwań w okolicach przypisywania do dlgFileOpen jakichkolwiek filtrów - podgląd zmiennych to bardzo przydatna funkcja.

Może troche nie na temat ale z kąd można ściągnąć synedit?

Z http://www.google.pl.

0

<font color="green">Nie bardzo rozumiem skąd w ogole biora sie tam jakiekolwiek polskie nazwy skoro nic nie zmieniałeś w źródłach SynEdit </span>

No właśnie zmieniałem .. - wprowadziłem polskie nazwy .. ale nie chcą działać ze wszystkimi :(

0

a może najpierw przetłumaczyć to wszystko, a potem instalowac synedita?

poza tym, można nawet pokusić się o dawanie %s w stringu i branie zawartości do format z jakiegoś ini z tłumaczeniami, co dało by fajny i porządany efekt multi language

0

Kiedyś chyba Szymek próbował to co mówisz, ale nie wyszło - wywalało, że nie mogło wyszukać- tam jest coś namieszane :-/

0

to chama okrężną droga, czylibazujac na angielskiej wersji zrobić ini z polska w formie:
text po angielski łącznie z filtrem = text po polsku łącznie z filtrem

potem tylko porównywanie i dawanie textu z ini zamiast od sysuśedita

0

No właśnie zmieniałem .. - wprowadziłem polskie nazwy .. ale nie chcą działać ze wszystkimi

Jest w Delphi cos takiego że jak kompiluje projekt to korzysta ze skompilowanych unitów (*.dcu). Czyli jezeli np. robiłes to tłumaczenie w kilku etapach to być moze za którymś tam razem Delphi nie skompilował pas do dcu - w dcu dalej są niektóre stare nazwy. Spróbuj skompilować ten unit jeszcze raz, zobacz tez na podglądzie zmiennych jakie wartości przekazuje ten unit do OpenDialog.

1 użytkowników online, w tym zalogowanych: 0, gości: 1