|
Вопрос # 372/ вопрос решён / |
|
Здравствуйте. Как мне сделать так, что бы нажав на кнопку
запустить "exe" файл (например, с программой), и
сразу хочу спросить ещё? Как мне напечатать текст в Memo1
сохранить его, и не просто сохранить а "сохранить как....."
то есть указать путь, где я хочу его сохранить, ну и если можно
то в конце хочу спросить, как кинуть Label1 на Form1,
чтобы в ней отображалось (и работало) переключение
Русского и Английского языков. Заранее благодарен.
 |
Вопрос задал: Толков Геннадий Викторович (статус: Посетитель)
Вопрос отправлен: 3 марта 2007, 23:31
Состояние вопроса: решён, ответов: 4.
|
Ответ #1. Отвечает эксперт: Aymenel
1)uses ShellApi;
ShellExecute(0,nil, 'Путь к фалу',nil, 'Директория', SW_SHOWNORMAL);
2)Помести на форму компонент SaveDialog
procedure TForm1.Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
 |
Ответ отправил: Aymenel (статус: 2-ой класс)
Время отправки: 3 марта 2007, 23:52
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Вадим К
По поводу языков.
Узнать, какой язык активен можно так
function GetLangId:string;
var s: array [0..63] of char;
begin
GetKeyboardLayoutName(s);
result :=s;
end;
Правда возвращается на текстовое название языка, а его код
к примеру 409 - английский,
419 - русский
422 - украинский
Для остальных - ищете.
Сразу предупрежу вопрос о переключении языка
Включить русский язык
ActivateKeyboardLayout(LoadKeyboardLayout('00000419', 0), 0);
Переключить на следующий язык в списке
ActivateKeyboardLayout(HKL_NEXT, 0);
Как же отследить переключение? Ставите таймер и каждую секунду запрашивайте.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 4 марта 2007, 00:17
Оценка за ответ: 5
|
Ответ #3. Отвечает эксперт: min@y™
Мог дать ответы на все вопросы, но опоздал. :)
Добавлю ещё вот что: не ст0ит отслеживать переключение по таймеру, ибо раскладка клавы для каждого приложения индивидуальна. Лучше отслеживать в обработчике события Application.OnIdle. См. приложение.
Приложение: Переключить в обычный режим- type
- TForm1 = class(TForm);
- ...
- protected
- procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
- ...
- end;
-
- ....
-
- implementation
-
- ....
-
- procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
- begin
-
-
- Done:= True;
- end;
-
-
- Application.OnIdle:= ApplicationIdle;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 5 марта 2007, 08:49
|
Ответ #4. Отвечает эксперт: Шарайчук Сергей Олександрович
Сохранить текст ты можеш используя компонент SaveDialog, например
if SaveDialog1.Execute then
begin
AssignFile(SaveDialog.FileName,f)
write(f, memo.line.add);
closefile(f);
end;
где f файл в который ты сохраняеш текст!
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 19:58: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|