| 
| 
 | Вопрос # 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |