Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2010, 13:58   #1
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
Восклицание почему этот код интерфейса не работает.

меняется заголовок а вот насчет кнопки несрабатывает (((
Код:
SetLanguage(GetDlgItem(Button1.Handle, 2), 'Russian.ini'); не хватает ему чегото
Дайте мне власть и я переверну ваш мир!...

Последний раз редактировалось KWN, lnc; 30.01.2010 в 10:17.
KWN, lnc вне форума Ответить с цитированием
Старый 30.01.2010, 02:39   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Забавный код. Что то новенькое в дельфи программировании.
Создать VCL приложение с формой, а затем все делать API функциями. Можно, конечно, и API применять когда необходимо, но зачем их применять везде.
Кто сказал, что у Button1 identifier равен 2 (GetDlgItem(Button1.Handle, 2))?

Ну, а код... и сказать нечего. Если помягче, то не работает он как надо. В переплавку его.

Последний раз редактировалось Скандербег; 30.01.2010 в 06:50.
Скандербег вне форума Ответить с цитированием
Старый 30.01.2010, 08:12   #3
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

можно ли сделать так чтобы язык интерфейса лежади в отдельных файлах как у меня там Eng.ini Rus.ini и чтобы нумерация была 1=Форма 2=Кнопка и т.д. ???? помогите пожалуйста
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 30.01.2010, 08:29   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Предварительно расставив значения свойства Tag у тех компонентов, у которых надо менять надписи. Значения Tag должны соответствовать ключам в ini-файлах. В этом проекте Button1.Tag = 2.
Код:
procedure SetLanguage({hWin: HWND; id: integer;} LangFile: String);
var
  I : Integer;
  hWin: HWND;
begin
  Edit_SetText(Form1.Handle, IniReadString(GetCurDir + 'Language\' + LangFile, 'Language', '1', ''));
  for I := 0 to Form1.ComponentCount-1 do
    if Form1.Components[I].Tag > 0 then begin
      hWin := TWinControl(Form1.Components[I]).Handle;
      Edit_SetText( hWin,
                   IniReadString(GetCurDir + 'Language\' + LangFile,
                   'Language', IntToStr(Form1.Controls[I].Tag), ''));
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var id : integer;
begin
  SetLanguage('Russian.ini');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLanguage('english.ini');
end;
Скандербег вне форума Ответить с цитированием
Старый 30.01.2010, 10:18   #5
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

Скандербег? Спасибо огромное)))
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 30.01.2010, 10:54   #6
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

а можно ли сделать похожее на это .ini

Код:
[LangOptions]
InformationTitle=Информация
ConfirmTitle=Подтверждение
ErrorTitle=Ошибка
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает данный код? C# byte916 Помощь студентам 4 11.12.2009 21:19
этот код первый раз то окно сначала сворачивается, а потом сразу восстанавливается, а когда вызываешь второй, окно сворачивается? Аlex Общие вопросы Delphi 4 16.08.2008 11:51
Почему не работает код? Kashp Общие вопросы Delphi 3 09.08.2007 17:33