[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    если слишком часто обновляем канву, возможна такая ошибка.
    попробуй:
    Code:
    procedure Tform1.Timer1Timer(sender:Tobject);
    const Busy:Boolean = false;
    begin
     if Busy then exit else busy := true;
      // ...
      // тут твой код
      // ...
     Busy := false;
    end;
     
  2. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Помогите пожалуйста с задачкой...

    Методом итераций вычислить корень уравнения вида f(x)=0, расположенный в интервале
    [A, B], с абсолютной погрешностью в соответствии с вариантом задания. Определить также число итераций, необходимое для нахождения корня.

    уравнение: 3*sin(sqrt(x))+0,35*x-3,8=0
    отрезок: [2;3]
    точность: 1E-4


    буду очень благодарен, ибо даже в условие задачи "невдупляю" =)
     
  3. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    А чем этот код отличается от обычного Sleep ?
     
  4. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Balvan, да. Если первая дата больше второй то в указанную переменную вносится true и наоборот.
     
  5. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    есть опендиалог, выбираю фаил, путь записываеться в бд... дальше работаю с этим путем.. так вот, как мне записать не полный путь а относительный папки где лежит exe проги? тоесть не С:\\papka\file а протсо file
     
  6. A2GIL

    A2GIL Elder - Старейшина

    Joined:
    31 Aug 2007
    Messages:
    84
    Likes Received:
    59
    Reputations:
    -3
    Code:
    with OPenDialog1 do
     if execute then
      Label1.Caption:=ExtractFilePath(filename);
     
    2 people like this.
  7. F4R

    F4R Banned

    Joined:
    20 Jun 2008
    Messages:
    224
    Likes Received:
    46
    Reputations:
    2
    PASCAL
    меется массив temp[1..7]
    в него занесены значения температур за неделю... тоесть 7 штук...
    вот и данные из массива нужно вывести в порядке возрастания!
     
  8. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Вот один извращённый метод через кол-во дней ))) ну в общем также можно просто строки в цифры и сравнивать)) но этот метод наверняка... =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;
     
  9. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    моно что-то типо этого:
    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
     
    #3369 Balvan, 7 May 2009
    Last edited: 7 May 2009
  10. F4R

    F4R Banned

    Joined:
    20 Jun 2008
    Messages:
    224
    Likes Received:
    46
    Reputations:
    2




    я так понимаю это метод пузырей?

    он неработает там неправильно показывает.
     
  11. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    что там может не правильно показывать? Пиши пжалуйста суть проблем поподробнее, а посты по информативнее! :)
     
  12. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    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;
    
     
    1 person likes this.
  13. messagedb

    messagedb New Member

    Joined:
    17 Apr 2009
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    напишите пример работы с файлами в Turbo Pascal 7 : 1й пример запись, 2й - чтение....... желательно с пояснениями какая функция что делает. Поставлю +сы.
     
  14. RumShun

    RumShun Member

    Joined:
    27 Oct 2008
    Messages:
    283
    Likes Received:
    75
    Reputations:
    6
    это есть в любом учебнике по паскалю, коих привеликое множество.
    По сабжу: есть у когонибуть примеры работы c socks проксями в WinSock, все обыскал не могу найти ничего вразумительного, дошол до того начал изучать описания протоколов мучаюсь мучаюсь и пока ничего :(
     
  15. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    2Nightmarе
    А это смотрел?
    memo1.Font.Charset

    или попробуй function GetTextFace(DC: HDC; Count: Integer; FaceName: PChar): Integer;
     
    _________________________
  16. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Как лучше искать определённый символ в строке?! может можно обойтись без массивов?! Pascal
     
  17. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    тебе нужно найти все такие символы или только первый такой символ?
    объясню:
    есть строка: "коло оля даша"
    ищем символ: "о"
    результат поиска1: 2 - номер искомого символа в строке(это же делает функция pos() в Delphi, не использует массивы)
    результат поиска2: 2,4,6 - номера всех найденных символов...(результат и есть массив)
    результат поиска3: 3 - колличество найденных символов в строке....

    какой из результатов нужен тебе?
     
    _________________________
  18. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    1 и 3... =)
     
  19. Mosvit

    Mosvit Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    86
    Likes Received:
    16
    Reputations:
    1
    Хочу написать бота 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
     
    #3379 Mosvit, 8 May 2009
    Last edited: 8 May 2009
  20. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    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
     
Thread Status:
Not open for further replies.