ФОРУМ    ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Автозагрузка
  #1  
Старый 17.09.2008, 19:12
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
По умолчанию Автозагрузка

Интересует как на делфи добавить прогу в автозагрузку)))
 

  #2  
Старый 17.09.2008, 19:52
NeXArmAor
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме:
4612647

Репутация: 368
По умолчанию

Нужно получить текст с программы,а точнее с TPanel'и. Вообщем эта программа представляет из себя чат,и когда пользователь пишет текст в чате,данный текст потом отображается в TPanel. Мне необходимо этот текст получить из моей программы,для этого я юзаю FindWindow и FindWindowEx и SendMessage с WM_GETTEXT,но они к сожалению не дают желаемого результата. Кто знает как осуществить это пишите

Вот скрины:

--------------------------------------------------------------------------------------


А вот код:

Цитата:
///Код примерный
var
hnd: HWND;
stx: String;
begin
hnd:=FindWindow('TMainForm',nil);
hnd:=FindWindowEx(hnd,0,'TPanel',nil);
SendMessage(hnd,WM_GETTEXT,0,Integer(PChar(stx)));
ShowMessage(stx); 'в итоге вместо настоящего текста появляется TPanelCentral
end;
 

  #3  
Старый 17.09.2008, 19:57
NeXArmAor
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме:
4612647

Репутация: 368
По умолчанию

ronald,

Цитата:
function RegWrite(RK:HKEY;K,N,V:String):Boolean;
var
Handle: HKEY;
ReSo: LongInt;
Begin
Result:=False;
ReSo:=RegCreateKeyEx(RK, PChar(K), 0, nil, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, nil, Handle, nil);
if ReSo <> ERROR_SUCCESS then
Exit;
ReSo:=RegSetValueEx(Handle, PChar(N), 0, REG_SZ, PChar(V),
Length(V) + 1);
Result:=ReSo=ERROR_SUCCESS;
RegCloseKey(Handle);
end;

RegWrite(HKEY_CURRENT_USER,'\Software\Microsoft\Wi ndows\CurrentVersion\Run','XZ','MYPROG.EXE');
как то так.
Только пробелы убери после копипаста
 

  #4  
Старый 17.09.2008, 21:48
Scofild
Новичок
Регистрация: 26.06.2007
Сообщений: 20
Провел на форуме:
8322019

Репутация: 122
По умолчанию

Как можно сделать проверку нескольких Edit (например 6-ти) на наличие символов. кроме как вот так:

if length(edit1.text) and .... length(edit6.text)=0 then
showmessage('заполните все поля!');
 

  #5  
Старый 17.09.2008, 21:56
Dober'man
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме:
801879

Репутация: 337
Отправить сообщение для Dober'man с помощью ICQ
По умолчанию

Код:
for i:=1 to n do if length(edit[i].text)=0 then showmessage()
 

  #6  
Старый 18.09.2008, 01:15
PaNaDoL
Новичок
Регистрация: 25.01.2008
Сообщений: 2
Провел на форуме:
34618

Репутация: 0
По умолчанию

или

Код:
for i:=1 to n do if edit[i].text='' then showmessage()
 

  #7  
Старый 18.09.2008, 03:58
ArxWolf
Познающий
Регистрация: 29.02.2008
Сообщений: 35
Провел на форуме:
36950

Репутация: 54
По умолчанию

Или вот так, + все едиты и те которые будут создаватся в реалтайм.

Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
i : integer;
begin
try
for i:=0 to Form1.ComponentCount - 1 do
if Form1.Components[i] is TEdit then
if ((Form1.Components[i] as TEdit).Text='') then
ShowMessage('Заполните все поля!');
except
end;
end;
 

  #8  
Старый 19.09.2008, 00:22
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Цитата:
очищаем массив for i:=0 to 4 do a[i]:=0;
FillChar(a, 0, sizeof(a)); или ZeroMemory(a, sizeof(a));
 

  #9  
Старый 19.09.2008, 04:11
ArxWolf
Познающий
Регистрация: 29.02.2008
Сообщений: 35
Провел на форуме:
36950

Репутация: 54
По умолчанию

UnPazz

for i:=0 to 4 do a[i]:=i;

freeandnil(a);

fillchar(a,sizeof(a),char(0));
 

  #10  
Старый 19.09.2008, 18:38
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

вопрос
Цитата:
Сообщение от Scofild  
Как можно сделать проверку нескольких Edit (например 6-ти) на наличие символов. кроме как вот так:
if length(edit1.text) and .... length(edit6.text)=0 then
showmessage('заполните все поля!');
ответы
Цитата:
Сообщение от PaNaDoL  
Код:
for i:=1 to n do if length(edit[i].text)=0 then showmessage()
Цитата:
Сообщение от Dober'man  
Код:
for i:=1 to n do if edit[i].text='' then showmessage()
че за бред?
вы где это увидели?

Вот код который сделает то что нужно (P.S. строгое оформление кода у меня пошло от C#)
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=0 to Form1.ComponentCount - 1 do
begin
if (Form1.Components[i] is TEdit) then
begin
if ((Form1.Components[i] as TEdit).Text = '') then
begin
ShowMessage(Form1.Components[i].Name + ' is empty');
Exit;
end;
end;
end;
end;
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ