Skocz do zawartości

Quirk

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Quirk's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. Quirk

    Dll i zasoby

    Dziewczyna byc nie musisz... po prostu ktos musi znac odpowiedzi na zadawane pytania, a niestety tak to jest w tym 'interesie' ze dziewczynom w wiekszosci przypadkow latwiej jest odpowiedziec niz facetom... No a wracajac do tematu to jesli chodzi o dll'ki to nie mam pojecia czy sie da, ale nigdy z podobnym pomyslem sie nie spotkalem (a co za tym idzie i z rozwiazaniem), natomiast jesli chodzi o styl xp to na pewno nie musisz tego rysowac recznie. Jest do tego konkretny styl, tylko niestety w tej chwili nie moge sobie przypomniec jaki... Zobacz w manualu pod CreateWindow lub CreateWindowEx- moze tam sie czegos doszukasz.
  2. obetnij wszystko do ostatniego '\' i powinno byc git
  3. sprobuj pokombinowac z komunikatami WM_QUERYENDSESSION WM_ENDSESSION i/lub z WM_CLOSE
  4. Quirk

    FindWindow

    zadeklaruj sobie zmienna globalna np. HWND HwndOkna i przed linia return false dodaj HwndOkna=hwnd i pozniej odwoluj sie do HwndOkna.
  5. Quirk

    FindWindow

    Kod nie jest pewnie najlepszej jakosci, ale dziala: BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { AnsiString tmp,tmp2; char buf[100]; GetWindowText(hwnd,buf,sizeof(buf)); tmp=buf; tmp2=[tutaj fragment caption poszukiwanego okna]; if (tmp.Pos(tmp2)==0) return true; //nie znalazlem szukaj dalej else { //znaleziono okno o caption zawierajacym podany fragment return false; } }
  6. Quirk

    Mail w socketach

    zgodnie z dokumentami rfc moze byc zarowno HELO (starsza wersja) jak i EHLO (nowsza wersja)
  7. Quirk

    Mail w socketach

    procedure SendMail; type zawartosc=array[1..57] of char; var WSAData:TWSAData; sock,i:integer; sa:tsockaddrin; wiadomosc:string[100]; zalacznik:file of char; linia:zawartosc; zrobiono,zrobione:longword; function odbierz(s:integer):pchar; var buf:array[0..99] of char; begin recv(s,buf,sizeof(buf),0); result:=buf; end; procedure wyslij(s:integer;co:string); var buf:array[0..99] of char; j:byte; begin fillchar(buf,100,0); for j:=1 to length(co) do begin buf[j-1]:=co[j]; end; send(s,buf,sizeof(buf),0); end; begin WSAStartup(makeword(2,0),WSAData); sock:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if sock=INVALID_SOCKET then begin end; if SOCKET_ERROR=WSAAsyncSelect(sock,xMainWnd,WM_USER+1,FD_CONNECT or FD_READ or FD_WRITE) then begin end; sa.sin_family:=AF_INET; sa.sin_port:=htons(25); sa.sin_addr.s_addr:=inet_addr(PChar('212.126.20.60')); bind(sock,sa,sizeof(sa)); connect(sock,sa,sizeof(sa)); wiadomosc:=odbierz(sock); // 250 ... wyslij(sock,'EHLO smtp.o2.pl'); wiadomosc:=odbierz(sock); // 250 ... wyslij(sock,'MAIL From:<'+mailod+'>'); wiadomosc:=odbierz(sock); // 250 ... wyslij(sock,'RCPT To:<'+mail+'>'); wiadomosc:=odbierz(sock); // 250 ... wyslij(sock,'DATA'); wiadomosc:=odbierz(sock); // 354 ... wyslij(sock,'From: <'+mailod+'>'); wyslij(sock,'To: <'+mail+'>'); wyslij(sock,'subject: temat'); wyslij(sock,'MIME-Version: 1.0'); wyslij(sock,'Content-Type: multipart/mixed; boundary="gc0p4Jq0M2Yt08jU534c0p"'); wyslij(sock,'This is a multi-part message in MIME format...'); wyslij(sock,'--gc0p4Jq0M2Yt08jU534c0p'); wyslij(sock,'Content-Type: text/plain'); wyslij(sock,'Content-Disposition: inline'); wyslij(sock,''); wyslij(sock,'INFO'); wyslij(sock,'--gc0p4Jq0M2Yt08jU534c0p'); wyslij(sock,'Content-Type: application/octream; name="1.txt"'); wyslij(sock,'Content-Transfer-Encoding: base64'); wyslij(sock,'Content-Disposition: attachement; filename="1.txt"'); wyslij(sock,''); AssignFile(zalacznik,'c:\1.txt'); Reset(zalacznik); zrobiono:=filesize(zalacznik); repeat Blockread(zalacznik,linia,SizeOf(linia),zrobione); wyslij(sock,Base64Encode(linia)); zrobiono:=zrobiono-zrobione; until zrobiono=0; CloseFile(zalacznik); wyslij(sock,''); wyslij(sock,''); // End of Header wyslij(sock,'.'); // end of mail wiadomosc:=odbierz(sock); // 250 ... wyslij(sock,'QUIT'); wiadomosc:=odbierz(sock); // 250 ... closesocket(sock); WSACleanup; end; Mam oto taki powyzszy kod i niby wszystko jest OK, bledow nie wywala, kompiluje sie i laczy, ale po odebraniu pierwszej wiadomosci od serwera gdy cos wysle i probuje odebrac nastepna zamiast standardowej odpowiedzi otrzymuje jakby fragment tego co przed chwila wysylalem a na po kilku takich operacjach 'wiadomosc' jest pusta. Co jest zle i jak to przerobic zeby dzialalo?
  8. OK, jednak udalo mi sie poradzis samemu sobie. Jakby ktos byl zainteresowany to podaje kod keybd_event([tu kod ASCII klawisza],NULL,NULL,NULL);
  9. No wiec mam programik ktory za zadanie bedzie mial uzupelniac pola w formularzu na stronce www. Do tej pory udalo mi sie zrobic tyle ze odpowiednie okno jest wywolywane na wierzch, myszka nakierowuje sie i naciska jedno z pol w formularzu i teraz moje pytanie- jak zasymulowac nacisniecie klawisza (lub w jaki inny sposob umiescic w takim polu tekst)? Kombinowalem do tej pory troche z WM_KEYDOWN i keybd_event, ale jakos bez efektow...
  10. W jaki sposob mozna wykryc czy jakas aplikacja odwoluje sie (otwiera, kopiuje, zapisuje czy cokolwiek innego) do jakiegos zdefiniowanego folderu/pliku, i w jaki sposob ewentualnie mozna jej na to nie zezwolic?
  11. Quirk

    Buttony

    Moze przedstaw kawalek kodu ktorym tworzysz button to bedzie latwiej...
  12. Jesli satysfakcjonuje Cie zwykle deaktywowanie tych przyciskow to dodaj sobie atrybut WS_SYSMENU przy tworzeniu formy
  13. Quirk

    Okno typu CHILD

    Moze sie myle ale zasadniczo wszystko co masz na formie to sa okna typu CHILD, a to gdzie napiszesz funkcje nie gra roli. Bardziej liczy sie to jak ta funkcja wyglada i do czego sie odwoluje
  14. Quirk

    Obsluga ListBox'a

    Wielkie dzieki, dziala jak nalezy. A co z tym suwakiem... jak to ruszyc?
  15. Quirk

    Obsluga ListBox'a

    dodalem ten styl no i w kodzie mam cos takiego: case Msg of: {...} WM_COMMAND: case wPar of LBN_SELCHANGE:begin {...} end; 0:begin {...} end; 1:begin {...} end; {...} No i przy probie kompilowania tego wywala mi blad w linii '1:begin' o tresci "Duplicate case label". Co jest zle?
×
×
  • Utwórz nowe...