если слишком часто обновляем канву, возможна такая ошибка. попробуй: Code: procedure Tform1.Timer1Timer(sender:Tobject); const Busy:Boolean = false; begin if Busy then exit else busy := true; // ... // тут твой код // ... Busy := false; end;
Помогите пожалуйста с задачкой... Методом итераций вычислить корень уравнения вида f(x)=0, расположенный в интервале [A, B], с абсолютной погрешностью в соответствии с вариантом задания. Определить также число итераций, необходимое для нахождения корня. уравнение: 3*sin(sqrt(x))+0,35*x-3,8=0 отрезок: [2;3] точность: 1E-4 буду очень благодарен, ибо даже в условие задачи "невдупляю" =)
есть опендиалог, выбираю фаил, путь записываеться в бд... дальше работаю с этим путем.. так вот, как мне записать не полный путь а относительный папки где лежит exe проги? тоесть не С:\\papka\file а протсо file
PASCAL меется массив temp[1..7] в него занесены значения температур за неделю... тоесть 7 штук... вот и данные из массива нужно вывести в порядке возрастания!
Вот один извращённый метод через кол-во дней ))) ну в общем также можно просто строки в цифры и сравнивать)) но этот метод наверняка... =D type mymas=array[1..12] of integer; const d1:mymas=(0,31,59,90,120,151,181,212,243,273,304,334); d2:mymas=(0,31,60,91,121,152,182,213,244,274,305,335); var data:string[10]; d:mymas; god,mes,den,kol_v:integer; kol_dney:array[1..3] of longint; er,i:integer; begin for i:=1 to 2 do begin writeln('Vvedite datu v formate GGGG.MM.DD'); readln(data); Val(Copy(data,1,4),god,er); Val(Copy(data,6,2),mes,er); Val(Copy(data,9,2),den,er); {Tupaya proverka goda na visokosnost} if ((god mod 4)=0) and (((god mod 100)<>0)or((god mod 400)=0)) then d:= d2 {Dlya vicokosnogo} else d:= d1; kol_v:=((god-1) div 4)-((god-1) div 100)+((god-1) div 400); kol_dney:=god*365+kol_v+d[mes]+den; end; if kol_dney[2]=kol_dney[1] then writeln('true') else writeln('false'); writeln('Press "Enter"...'); readln;
моно что-то типо этого: for i:=1 to N-1 do for j:=i+1 to N do if a[j]>a then begin temp:=a[j]; a[j]:=a; a[j+1]=temp; end; а вообще http://lmgtfy.com/?q=%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0+Pascal
что там может не правильно показывать? Пиши пжалуйста суть проблем поподробнее, а посты по информативнее!
Code: for i:=1 to N-1 do for j:=i+1 to N do if a[j][COLOR=Red]<[/COLOR]a[i] then begin temp:=a[j]; a[j]:=a[i]; a[[COLOR=Red]i[/COLOR]]=temp; end;
напишите пример работы с файлами в Turbo Pascal 7 : 1й пример запись, 2й - чтение....... желательно с пояснениями какая функция что делает. Поставлю +сы.
это есть в любом учебнике по паскалю, коих привеликое множество. По сабжу: есть у когонибуть примеры работы c socks проксями в WinSock, все обыскал не могу найти ничего вразумительного, дошол до того начал изучать описания протоколов мучаюсь мучаюсь и пока ничего
2Nightmarе А это смотрел? memo1.Font.Charset или попробуй function GetTextFace(DC: HDC; Count: Integer; FaceName: PChar): Integer;
тебе нужно найти все такие символы или только первый такой символ? объясню: есть строка: "коло оля даша" ищем символ: "о" результат поиска1: 2 - номер искомого символа в строке(это же делает функция pos() в Delphi, не использует массивы) результат поиска2: 2,4,6 - номера всех найденных символов...(результат и есть массив) результат поиска3: 3 - колличество найденных символов в строке.... какой из результатов нужен тебе?
Хочу написать бота ICQ которыйбы отвечал на каждое входящее сообщение (от одного номера) разными словами из мемо2. Типа имитировал настоящий разговор. Пробовал сделать вот так: Код: Code: procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String); var icq: cardinal; i:integer; begin icq:=StrToInt(UIN); ICQClient1.SendMessage(icq,Memo2.Lines[i]); sleep(2000); Memo2.Lines[i]:=Memo2.Lines[i+1]; end; В Мемо2 записано: "текст1 текст2 текст3 текст4 текст5" В итоге на первое отправленное сообщение на этот ICQ бот приходит ответ "текст2", а на все последующие "текст3". Что не так? Используется компонент TICQClient
2 Nightmarе вообще определить можно или методом тыка кодирую и сравнивая. типа s=текст s2=DOS2WIN(s); if s=s2 then текст в DOS кодировке в противном случае чтото другое. Или анализировать диапазон символов русского языка. АБВГДЕ абвгде выглдяит как WIN: C0 C1 C2 C3 C4 C5 20 E0 E1 E2 E3 E4 E5 DOS: 80 81 82 83 84 85 20 A0 A1 A2 A3 A4 A5 как видишь русский буквы в WIN идут с адресов C0 А в DOS с 80 Так что можешь попробовать сложить все символы с кодами > 7F и разделить число на кол-во этих символов. И получишь соотношение, чем оно ближе к 80 тем более вероятне что это DOS. но и собственно говоря наоборот если ближе к FF то WIN