Óïðàæíåíèå 4. Ñîçäàéòå ïðèëîæåíèå, ñîçäàþùåå òåêñòîâûé ôàéë è ñîõðàíÿþùåå â íåì òåêñò èç Memo, èñïîëüçóÿ ìåòîä SaveDialog äëÿ âûáîðà ïàïêè è çàäàíèÿ èìåíè è ðàñøèðåíèÿ òåêñòîâîãî ôàéëà.
Ñîçäàéòå ôîðìó, íà êîòîðîé ðàçìåñòèòå êîìïîíåíòû Memo1, Label1 è Button1. Çàäàéòå äëÿ ñâîéñòâà Form1.Caption çíà÷åíèå «Ïðèìåð ñ èñïîëüçîâàíèåì SaveDialog», äëÿ Label1.Caption – çíà÷åíèå «Ââåäèòå òåêñò», äëÿ Button1.Caption – çíà÷åíèå «Ñîõðàíèòü». Óäàëèòå òåêñò «Memol» èç îêíà Memo1. Âûðîâíÿéòå è çàôèêñèðóéòå âèçóàëüíûå êîìïîíåíòû íà ôîðìå. Âûáåðèòå â ïàëèòðå êîìïîíåíòîâ ñòðàíèöó Dialogs è ïîìåñòèòå íà ôîðìó êîìïîíåíò SaveDialog. Òàê êàê îí íå ÿâëÿåòñÿ âèçóàëüíûì êîìïîíåíòîì, òî åãî ìîæíî ïîìåñòèòü â ëþáîå ìåñòî ôîðìû. Çàäàéòå äëÿ ñâîéñòâà SaveDialog1.Title çíà÷åíèå «Ñîõðàíèòü òåêñòîâûé ôàéë», êîòîðîå áóäåò îòîáðàæàòüñÿ â çàãîëîâêå äèàëîãîâîãî îêíà ñîõðàíåíèÿ ôàéëà.
×òîáû ïðè ñîõðàíåíèè ôàéëà â îêíå äèàëîãà îáåñïå÷èòü âûáîð òèïà ôàéëà, âûáåðèòå â îêíå Èíñïåêòîðà îáúåêòîâ îáúåêò SaveDialogl, íà ñòðàíèöå Ñâîéñòâà ïðîèçâåäèòå äâîéíîé ùåë÷îê â ñïèñêå çíà÷åíèé ñâîéñòâà Filter.  îêíå Filter Editor çàäàéòå ôèëüòðû äëÿ âûáîðà òèïà è ðàñøèðåíèÿ ôàéëà.
Ùåëêíóâ íà êíîïêå 0Ê, çàêðîéòå îêíî Filter Editor. Äëÿ óñòàíîâêè ðàñøèðåíèÿ *.txt ïî óìîë÷àíèþ çàäàéòå çíà÷åíèå 1 äëÿ ñâîéñòâà SaveDialog1.Filter.
Äëÿ ñîçäàíèÿ ïðîöåäóðû îáðàáîò÷èêà ñîáûòèÿ ùåë÷êà ìûøüþ íà êíîïêå Ñîõðàíèòü âûáåðèòå â îêíå Èíñïåêòîðà îáúåêòîâ îáúåêò Button1 è íà ñòðàíèöå Ñîáûòèÿ ïðîèçâåäèòå äâîéíîé ùåë÷îê íà ïóñòîì ïîëå ñïèñêà â ñîáûòèè OnClick. Ïîñëå ýòîãî â îêíå Ðåäàêòîðà êîäà áóäåò ñãåíåðèðîâàíà çàãîòîâêà ïðîöåäóðû îáðàáîò÷èêà ñîáûòèÿ procedure TForm1.ButtonlClick(Sender: TObject);.
Ââåäèòå â ðàçäåë îïèñàíèÿ ïåðåìåííûõ ìîäóëÿ ñòðîêîâóþ ïåðåìåííóþ FName äëÿ õðàíåíèÿ èìåíè ôàéëà:
var
Forml: TForml;
FName : string;
Îòðåäàêòèðóéòå òåêñò ïðîöåäóðû ñëåäóþùèì îáðàçîì:
procedure TForm1.Button1Click(Sender: TObject);
begin
FName: = 'Textr';
SaveDialog1.FileName := FName;
{ïðèñâîèòü ñâîéñòâó FileName çíà÷åíèå èç ïåðåìåííîé FName}
if SaveDialog1.Execute then
begin
FName:=SaveDialog1.FileName;
{îòêðûòü äèàëîã è çàïîìíèòü íîâîå èìÿ ôàéëà}
case SaveDialogl.Filterlndex of
{èçìåíèòü ðàñøèðåíèå ôàéëà}
1 : FName:=FName+'.txt';
2 : FName:=FName+'.doc':
end;
Memo1.Lines.SaveToFile(FName);
{çàïèñàòü â ôàéë ñîäåðæèìîå èç ñâîéñòâà Lines îáúåêòà Memo}
end;
end;
Êàê âèäíî èç òåêñòà ïðîöåäóðû, ñíà÷àëà ïåðåìåííîé FName ïðèñâàèâàåòñÿ çíà÷åíèå «Text1», çàòåì ýòî çíà÷åíèå ïðèñâàèâàåòñÿ ñâîéñòâó SaveDialog1.FileName. Çàòåì ïðèëîæåíèå îòêðûâàåò äèàëîãîâîå îêíî «Ñîõðàíèòü òåêñòîâûé ôàéë», â êîòîðîì çàäàåòñÿ èìÿ ôàéëà. Èìÿ ôàéëà èç ñâîéñòâà SaveDialog1.FileName çàïîìèíàåòñÿ â ïåðåìåííîé FName. Ïðè ïîìîùè îïåðàòîðà case ðåàëèçóåòñÿ âûáîð ðàñøèðåíèÿ ôàéëà â çàâèñèìîñòè îò çíà÷åíèÿ ñâîéñòâà SaveDialog1.Filterlndex.  çàêëþ÷èòåëüíîé ÷àñòè ïðîöåäóðû îïåðàòîð Memo1.Lines.SaveToFile(FName); èñïîëüçóåòñÿ äëÿ çàïèñè â ôàéë ñîäåðæèìîãî ñâîéñòâà Lines îáúåêòà Memo1.
Ñîõðàíèòå, îòêîìïèëèðóéòå è çàïóñòèòå íà âûïîëíåíèå ñîçäàííîå ïðèëîæåíèå. Ââåäèòå òåêñò â îêíå ïðèëîæåíèÿ è ùåëêíèòå ìûøüþ íà êíîïêå Ñîõðàíèòü. Áóäåò îòêðûòî äèàëîãîâîå îêíî Ñîõðàíèòü òåêñòîâûé ôàéë.
Èçìåíèâ èìÿ ôàéëà è âûáðàâ âàðèàíò òèïà ôàéëà, íàæìèòå êíîïêó Ñîõðàíèòü. Îòêðûâ â îêíå Ïðîâîäíèêà ïàïêó, â êîòîðîé áûë ñîõðàíåí ôàéë (â íàøåì ïðèìåðå ïàïêà íàçûâàåòñÿ Îáðàáîòêà òåêñòîâûõ ôàéëîâ), óáåäèòåñü, ÷òî â íåé ïðèñóòñòâóåò ôàéë ñ óêàçàííûì âàìè èìåíåì. Äâàæäû ùåëêíóâ ìûøüþ ïî ýòîìó ôàéëó, îòêðîéòå åãî â îêíå ðåäàêòîðà Áëîêíîò è óáåäèòåñü, ÷òî ýòî ôàéë, ñîçäàííûé ïðè ïðîâåðêå ðàáîòû ïðèëîæåíèÿ. Çàêðîéòå îêíà ðåäàêòîðà Áëîêíîò è ïðèëîæåíèÿ Ïðèìåð ñ èñïîëüçîâàíèåì SaveDialog.
<< {SITELINK-S211}1{/SITELINK}, {SITELINK-S212}2{/SITELINK}, {SITELINK-S213}3{/SITELINK}, 4, {SITELINK-S215}5{/SITELINK} >>
|