Вот только что попробовал реализовать эту свою задумку. Вроде как пашет нормально ) Code: var x:integer; sum,cnt:integer; s:string; begin s:=memo1.text; sum:=0; cnt:=0; for x:=1 to length(s) do if (ord(s[x])>$7F) then begin inc(cnt); sum:=sum+ord(s[x]); end; if cnt=0 then ShowMessage('А хер его знает что там'); else if (sum div cnt<$C0) then showmessage('DOS') else showmessage('WIN'); end;
Привет всем как бы мне поумнее сделать чтобы Form1 сворачивалась в трей (к часам) PHP: procedure TForm4.TrayIcon1Click(Sender: TObject); begin Form4.Hide; end; end. Сделал так но при клике неразворачивается форма и тупо исчезает затем её неразвернуть и несвернуть при клике на иконку в трее (Ещё назрел маненький вопросик когда я компилирую программу она почему то так и называется project1 ну или судя как её переименовать можно ли ей как бы закрепить имя ?)
2 Huligan1 1) Delphi World ("Иконка на TrayBar", "Иконка на TrayBar - пример 1", "Иконка на TrayBar - пример 2") Достаточно вбить в гугле с сразу увидишь десятки сайтов в таким примером. + в этом же топике пару дней назад это обсуждалось. 2) Ну так сразу назови проект как тебе нужно. А чтобы переименовать название которое отображается на панеле задач, то application.title:='dfdfdfdf';
Пишу брут, первый раз, всё работает, гуды находит, но есть оно : проходит ровно столько строк, сколько установлено потоков. Целый день пишу, голова уже не работает, вот кусок прцедуры, отвечающей за сооздание потока : Code: for i:= 1 to SpinEdit1.Value do begin a[i]:=TNewThread.Create(true); a[i].FreeOnTerminate:=true; a[i].Priority:=tpLOWER; a[i].LoginTH:=copyLogin(Source.Strings[i]); a[i].passTH:=copyPass(Source.Strings[i]); a[i].Resume; application.ProcessMessages; if Application.Terminated then break; if stop then break; ThreadsLBL.Caption:=IntToStr(i); end; Поправьте, как надо. не актуально, как запостил - нашел ошибку.
BorderStyle = bsNone А мне надо перемещать форму по экрану при поможи зажатие мышки (Также как и обычные окна Windows), как это можно сделать?
вот код, скажите пожалуйста что не так Code: #include <windows.h> #include <string.h> #include <time.h> #include <math.h> #define ID_TIMER 1 #define TWOPI (2 * 3.14159) LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static char szAppName[] = "AnaClock" ; HWND hwnd; MSG msg; WNDCLASSEX wndclass ; wndclass.cbSize = sizeof (wndclass) ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = NULL ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; wndclass.hIconSm = NULL ; RegisterClassEx (&wndclass) ; hwnd = CreateWindow (szAppName, "Analog Clock", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; if (!SetTimer (hwnd, ID_TIMER, 1000, NULL)) { MessageBox (hwnd, "Too many clocks or timers!", szAppName, MB_ICONEXCLAMATION | MB_OK) ; return FALSE ; } ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } void SetIsotropic (HDC hdc, int cxClient, int cyClient) { SetMapMode (hdc, MM_ISOTROPIC) ; SetWindowExtEx (hdc, 1000, 1000, NULL) ; SetViewportExtEx (hdc, cxClient / 2, -cyClient / 2, NULL) ; SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL) ; } void RotatePoint (POINT pt[], int iNum, int iAngle) { int i ; POINT ptTemp ; for (i = 0 ; i < iNum ; i++) { ptTemp.x = (int) (pt[i].x * cos (TWOPI * iAngle / 360) + pt[i].y * sin (TWOPI * iAngle / 360)) ; ptTemp.y = (int) (pt[i].y * cos (TWOPI * iAngle / 360) - pt[i].x * sin (TWOPI * iAngle / 360)) ; pt[i] = ptTemp ; } } void DrawClock (HDC hdc) { int iAngle ; POINT pt[3] ; for (iAngle = 0 ; iAngle < 360 ; iAngle += 6) { pt[0].x = 0 ; pt[0].y = 900 ; RotatePoint (pt, 1, iAngle) ; pt[2].x = pt[2].y = iAngle % 5 ? 33 : 100 ; pt[0].x -= pt[2].x / 2 ; pt[0].y -= pt[2].y / 2 ; pt[1].x = pt[0].x + pt[2].x ; pt[1].y = pt[0].y + pt[2].y ; SelectObject (hdc, GetStockObject (BLACK_BRUSH)) ; Ellipse (hdc, pt[0].x, pt[0].y, pt[1].x, pt[1].y) ; } } void DrawHands (HDC hdc, struct tm *datetime, BOOL bChange) { static POINT pt[3][5] = { 0, -150, 100, 0, 0, 600, -100, 0, 0, -150, 0, -200, 50, 0, 0, 800, -50, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800 } ; int i, iAngle[3] ; POINT ptTemp[3][5] ; iAngle[0] = (datetime->tm_hour * 30) % 360 + datetime->tm_min / 2 ; iAngle[1] = datetime->tm_min * 6 ; iAngle[2] = datetime->tm_sec * 6 ; memcpy (ptTemp, pt, sizeof (pt)) ; for (i = bChange ? 0 : 2 ; i < 3 ; i++) { RotatePoint (ptTemp[i], 5, iAngle[i]) ; Polyline (hdc, ptTemp[i], 5) ; } } LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) { static int cxClient, cyClient ; static struct tm dtPrevious ; BOOL bChange ; HDC hdc ; PAINTSTRUCT ps ; time_t lTime ; struct tm *datetime ; switch (iMsg) { case WM_CREATE : time (&lTime) ; datetime = localtime (&lTime) ; dtPrevious = * datetime ; return 0 ; case WM_SIZE : cxClient = LOWORD (lParam) ; cyClient = HIWORD (lParam) ; return 0 ; case WM_TIMER : time (&lTime) ; datetime = localtime (&lTime) ; bChange = datetime->tm_hour != dtPrevious.tm_hour || datetime->tm_min != dtPrevious.tm_min ; hdc = GetDC (hwnd) ; SetIsotropic (hdc, cxClient, cyClient) ; SelectObject (hdc, GetStockObject (WHITE_PEN)) ; DrawHands (hdc, &dtPrevious, bChange) ; SelectObject (hdc, GetStockObject (BLACK_PEN)) ; DrawHands (hdc, datetime, TRUE) ; ReleaseDC (hwnd, hdc) ; dtPrevious = *datetime ; return 0 ; case WM_PAINT : hdc = BeginPaint (hwnd, &ps) ; SetIsotropic (hdc, cxClient, cyClient) ; DrawClock (hdc) ; DrawHands (hdc, &dtPrevious, TRUE) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY : KillTimer (hwnd, ID_TIMER) ; PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, iMsg, wParam, lParam) ; }
Вот попалась лаба в которой надо сделать арифметику в римской системе счисления. вот "собрал" такую хрень из чужих кодесов =) http://rapidshare.com/files/231262235/laba.txt и не пойму в чём проблема, ничего не выводится можете подсказать что не так или как правильно(лучше) сделать? (только пожалуйста без хак-пафоса )) ) з.ы. с мну +5.
есть ли мини модуль jpeg без тяжелых юнитов типа Graphics, Classes, SysUtils который умеет просто открыть Jpeg изменить размер и сохранить в Jpeg? Перерыл весь инет, ничего толкового не нашел.
выкинь свой "коноплятор", код 100% рабочий. PHP: procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; SendMessage(Handle, WM_SYSCOMMAND, $f012, 0); end;
на инди Code: uses IdHttp, jpeg; procedure TForm1.Button1Click(Sender: TObject); var http: TIdHttp; ms: TMemoryStream; jpeg: TJpegImage; begin http := TIdHTTP.Create(nil); ms := TMemoryStream.Create; jpeg := TJpegImage.Create; try http.Get('http://i136.photobucket.com/albums/q195/combatfather/post-19-1177146510.jpg', ms); ms.Position := 0; jpeg.LoadFromStream(ms); Image1.Picture.Graphic := jpeg; finally jpeg.Free; ms.Free; http.Free; end;
Помогите форма нехочет закрываться я прописываю ей Form5.Close; а она нехочет PHP: procedure TForm5.FormCreate(Sender: TObject); begin Application.title:=('Соединение с') Winexec('connect.bat',SW_HIDE); ShowMessage('Соединение установленно'); Application.ShowMainForm:= False; Form5.Close; end; end. P.S А ещё можно как нибудь узнать программно имя соединения юзера а то "Соединение с" некатит Я имею ввиду созданное интернет соединение в реестр лезть надо ? Как использовать параметры в MessageBox я имею ввиду юзаю MB_OK а как при нажатии на эту кнопку когда запуститься приложение сделать чтобы проект закрывался