Dialogs - zastosowanie i kody źródłowe
like_prog
Dialogs - Zastosowanie i kody źródłowe
Witam.
W tym artykule chciałbym opisać zastosowanie i wykorzystanie komponentów, z zakładki pt. Dialogs (ang.Dialogi lub Okna dialogowe). Kto z nas zapamięta tyle operacji, a są one tak banalne że według niektórych nie opłaca się ich uczyć, ale dla potrzebujących wszystko będzie opisane w poniższym artykule. Służą one głównie do ulepszania i modyfikowania pól edycyjnych , (a takie opisze w tym tekście) tj.
-Memo
-RichEdit
-Image ( wyjątek : SavePictureDialog oraz OpenPictureDialog )[ Image nie jest polem edycyjnym !! ]
Wszystkie operacje będš wykonywane na dwóch powyższych komponentach.
Zacznijmy od " OpenDialog ":
Służy on do otwierania zawartości pliku, do dowolnego komponentu typu String, poprzez jego uprzedni wybór.
Kod źródłowy otwierający tekst (*.txt) do Memo1.
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.Filename);
SaveDialog
Służy on do zapisywania zawartości komponentu typu String do dowolnego pliku , poprzez jego uprzedni wybór.
Kod źródłowy zapisywania tekstu do pliku.
if OpenDialog1.Execute then
Memo1.Lines.SaveToFile(OpenDialog1.Filename);
OpenPictureDialog
Służy on do wczytywania obrazka z pliku do komponentu Image.
Kod źródłowy otwierania pliku do Image
if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
SavePictureDialog
Służy on do zapisywania obrazka z komponentu Image do pliku, po uprzednim jego wybraniu.
Kod źródłowy zapisywania obrazka do pliku
if SavePitureDialog1.Execute then
Image1.Picture.SaveToFile(SavePictureDialog1.Filename);
FontDialog
Służy on do zmiany czconki w komponencie tesktowym ( tu RichEdit ).
Kod źródłowy zmiany czcionki
FontDialog1.Font.Assign(RichEdit1.SelAttributes);
if FontDialog1.Execute then
CurrText.Assign(FontDialog1.Font);
SelectionChange(Self);
RichEdit1.SetFocus;
ColorDialog
Służy on do zmieniania np.tła (ogólnie zdarzenia "COLOR" ) w komponencie.
Kod źródłowy zmieniania zdarzenia "color"
if ColorDialog1.Execute then
Memo1.Color := (ColorDialog1.Color);
PrintDialog
Służy on do drukowanie zawartości komponentu
Kod źródłowy drukowania
do sekcji uses dodajemy deklarację :
... Printers;
if PrintDialog.Execute then
RichEdit1.Print(FFileName);
FindDialog
Służy do wyszukiwania znaków w polu tekstowym
var
FoundAt: LongInt;
StartPos, ToEnd: integer;
begin
with Memo1 do
begin
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
end;
To są podstawowe kody źródłowe, wykorzystania Dialogów. Jeśli ktoś zauważył jakieś niedoskonałości lub nieprawidłowy kod, proszę pisać w
komentarzach lub na adres lucas_666@o2.pl.
Serdecznie dziękuje i pozdrawiam :-)
Zaszalaleś :] ale w wolnej chwili poprawie :D
Dzieki za kompetentna pomoc, bo to moj pierwszy art . :D
a teraz popraw ortografy i zniknięcie <> w kodzie =]
oraz trochę sens tego tam, bo Load/Save dialogi służą do pobrania od użytkownika ścieżki w przyjaznym okienku, a wczytywaniem/zapisywaniem/kasowaniem/tworzeniem czy co tam zapragnie robić kodzier to zajmuje się już zupełnie co innego =]
a Font, Color i Print służą do pobrania pewnych ustawień od użytkownika w przyjazny dla niego sposób, bo przecież ten kolor może być użyty nawet jako klucz do szyfrowania =]
np OpenDialog:
"To okno dialogowe, które zapewne znasz z komend Zapisz/Zapisz jako, służy do wyświetlenia przyjaznego użytkownikowi okna do wyboru pliku ( lub plików ), posiada opcje zmieniające jego wygląd oraz filtrujące wyświetlane pliki, metoda Execute zwraca wartość logiczną przyjmującą stan zależnie od tego czy użytkownik kliknął OK czy Anuluj. Używanie gotowych okien dialogowych posiada tą zaletę że zapewniają one pewną dozę bezpieczeństwa, na przykład OpenDialog może blokować wybór nieistniejących plików"
się znaczy pól edycyjnych ? =]
poprawiaj bo przyjdzie jakiś Boss i usunie =]
Tekstowych :)
"komponentów typu String" - co masz na myśli ? =]