Создаем краткий справочник в Lazarus.
Назначение справочника - дополнять список команд BASH (можно добавлять любые текстовые файлы, например, по стандартным функциям/процедурам самомого Lazarus). Предоставить удобства графического интерфейса пользователю, или самому себе :)
Пример 3. Создаем краткий справочник в Lazarus.
Решение->Программа.
------------------------------------
Процедура выполняющаяся при запуске главной формы ------------------------------------
procedure TForm1.FormShow(Sender: TObject);
Var Found:TSearchRec; FindResult: integer;
filename, cd:string;
beginFindResult:=0;
{
Узнаем путь откуда запущена программа}
cd:=
ExtractFilePath(Application.ExeName);
{
Задаем рабочий каталог - в локальной папке /BIN и файлы храним в /BIN/bash-help}
SetCurrentDir(cd+'/bash-help/');
{Задаем маску}filename:='*.txt';
FindResult:=FindFirst(filename,faAnyFile,Found);
while FindResult=0 do begin
{
если не '.' & '..', то добавить в список}
if (found.name<>'.') and (found.name<>'..') then
Listbox1.Items.Add(Found.Name);
FindResult :=FindNext(Found);
end; {
end while}
FindClose(Found);
Listbox1.Sorted:=true; {
сортируем список по алфавиту}
end;------------------------
Кнопка "Добавить справку Bash!"---------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
{
запускаем внешний скрипт - script, см. ниже!}
ExecuteProcess('/bin/sh','-c "script"');
end;
----------------------------------
Кнопка: "Обновить список"---------------------------------
procedure TForm1.Button2Click(Sender: TObject);
begin
listbox1.Clear; {
очистка списка}
FormShow(Sender); {
обновить список}
end;
-----------------------------------
Работа со списком: выбор файла справки-----------------------------------
procedure TForm1.ListBox1Click(Sender: TObject);
var filename:string;
begin try {
перехват ошибок}
filename:= listbox1.Items[listbox1.ItemIndex];
form1.Memo1.Lines.LoadFromFile(filename);
form1.StatusBar1.SimpleText:=filename;
{finally}
except
ShowMessage('Это директория!');
end; {
end try}
end;p.s. Здесь все примеры в Lazarus:
http://kslpk.ucoz.ru/forum/8-6-1Кстати, не забудьте поместить
StatusBar на форму!
И для поля
Memo изменить значение для свойста
ReadOnly - false на True