[ 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. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    показ кода возможно облегчил бы понимание твоей проблемы.
     
  2. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    TLabel - не оконный элемент, то есть текст выводится на форму как графика, отсюда и отсутствие хэндла, который возвращает функция FindWindow
    а по теме, рой в сторону: EnumChildWindows, PostMessage (SendMessage) и GetMenu****
     
    #7042 alexey-m, 24 Oct 2010
    Last edited: 24 Oct 2010
  3. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Я засунул в архив весь делфовский проект вместе с БД.
    Возможны косяки с настройкой компонентов.
    ССЫЛКА
     
  4. kriperS

    kriperS New Member

    Joined:
    6 Sep 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Совсем недавно две школы хабаровска решили провести между своими зданиями новый канал связи с использованием опти - волоконной линии для проведения совместных видео уроков. По каналу связи данные передаются в двоичном виде, то есть с помощью 0 и 1. Однако оказалось, что поскольку школы находятся далеко друг от друга, в канале связи иногда возникают помехи , из за которых 1 может быть прочитан как 0 или наоборот. Для устранения проблемы решено было каждый сигнал пердавать трижды, то есть вместо 1 передавать 111 а вместо 0 - 000. При приеме такого сообщения каждая тройка цифр преобразуется в ту цифру, которая встречается в этой тройке не менее двух раз. Например , 110001 =10. напишите программу которая будет восстанавливать исходный сигнал, переданный по каналу свзяи. Вводется строка состоящая из 0 и 1, длина сообщения кратна трем. Вывести исходное сообщение.
    Кто поможет решить эту задачу в паскале?
     
  5. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    смысл примерно такой, если сумма 3х элементов больше либо равна 2, то передана 1 иначе 0:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    const
      s: array[0..23] of byte =(0,0,0, 0,0,1, 0,1,0, 0,1,1, 1,0,0, 1,0,1, 1,1,0, 1,1,1); // переданный сигнал из 0 и 1
    var
      i: Byte;
      f: array[0..7] of byte; // буфер под восстановленный сигнал
    begin
    
      for i:= 0 to 7 do
        if ((s[i*3] + s[i*3+1] + s[i*3+2]) and 2) = 2 then f[i]:= 1 else f[i]:= 0;
    // или так, кому как нравится if ((s[i*3] + s[i*3+1] + s[i*3+2]) > 1) then f[i]:= 1 else f[i]:= 0;
    end;
    кривовато конечно, но пойдет)
     
    #7045 alexey-m, 24 Oct 2010
    Last edited: 24 Oct 2010
  6. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Как в Indy передать в Post символ & ? (Когда его передаю, происходит разделение параметров). Передавать как hex не канает.

    Это нужно для замены кода шаблона в WP.
     
  7. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    не совсем уверен, но попробуй передать в UTF-8.
     
  8. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Браузер передает в таком виде:
    Code:
    twentyten%2Fheader.php%26theme%3DTwenty%2BTen%26a%3Dte%26scrollto%3D1330&newcontent=%3C%3Fphp%0D%0A%2F**%0D%0A+*+The+Header+for+our+theme.%0D%0A+*%0D%0A+*+Displays+all+of+the+%3Chead%3E+section+and+everything+up+till+%3Cdiv+id%3D%22main%22%3E%0D%0A+*%0D%0A+*+%40package+WordPress%0D%0A+*+%40subpackage+Twenty_Ten%0D%0A+*+%40since+Twenty+Ten+1.0%0D%0A+*%2F%0D%0A%3F%3E%3C%21DOCTYPE+html%3E%0D%0A%3Chtml+%3C%3Fphp+language_attributes%28%29%3B+%3F%3E%3E%0D%0A%3Chead%3E%0D%0A%3Cmeta+charset%3D%22%3C%3Fphp+bloginfo%28+%27charset%27+%29%3B+%3F%3E%22+%2F%3E%0D%0A%3Ctitle%3E%3C%3Fphp%0D%0A%09%2F*%0D%0A%09+*+Print+the+%3Ctitle%3E+tag+based+on+what+is+being+viewed.%0D%0A
    
    Как добиться того же?
    При обычной передаче все происходит нормально. Но вот символ & - превращается в разделитель параметров запроса... Тут уже кто то это обсуждал, нашли решение, но в теме оно не прозвучало.
     
  9. LoOny

    LoOny New Member

    Joined:
    19 Oct 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    alexey-m, а вобще сможешь помочь?..

    там как оказалось нет об'ектов. ну по крайней мере я так понял)) передаются координаты курсора и в зависимости от положения происходит то или иное действие. пытаюсь передать такое сообщение
    SendMessage(h, WM_LBUTTONDOWN, 0, MAKELONG(7,330));
    не канает..
    желательно бы не двигать туда курсор.. а чтобы все в фоне было. реально/нет это замутить?
     
  10. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    LoOny, замутить при желании можно все что угодно)
    Что-то конкретное тебе подсказать не могу, так как без объекта твоих изысканий мне лично сложно это сделать)

    пробуй PostMessage(hWindow, BM_CLICK, 0, 0); или mouse_event или другие, подобного рода трюки.

    По поводу сообщения WM_LBUTTONDOWN почитай тут, обрати внимание на параметр wParam и твое значение, согласись, немного кривовато =)
    Да и слать сообщения в "чужие" окна безопаснее все-таки через PostMessage
     
    #7050 alexey-m, 24 Oct 2010
    Last edited: 24 Oct 2010
  11. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    fenixelite, если ты имел ввиду это, то там вроде ясно сказано, что есть опция переключения - кодировать ли или нет символы в hex. Смотри в компоненте indy, где эта опция, а лучше юзай сокеты и таких проблем не будет =)
     
  12. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Спс. вопрос снят. Разобрался уже :) Именно это и имел ввиду =)

    И так уже на них перехожу, просто нужно было поправить старый проект, а он на инди.
     
  13. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Кто нибудь смотрел код?
     
  14. Mirrey

    Mirrey New Member

    Joined:
    10 Sep 2010
    Messages:
    35
    Likes Received:
    1
    Reputations:
    0
    Вот я написал программку, консольную(паскаль). Но мне нужно что бы сама консоль не выскакивала. Просто после запуска программа должно работать, но сама консоль не должно появляться. Подскажите пожалуйста, как это реализовать...
     
    #7054 Mirrey, 25 Oct 2010
    Last edited: 25 Oct 2010
  15. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Mirrey, просто удали директиву компилятора {$APPTYPE CONSOLE}, тогда окно консоли не будет создаваться
     
  16. DesCent

    DesCent Banned

    Joined:
    9 Jul 2010
    Messages:
    276
    Likes Received:
    51
    Reputations:
    16
    Это же в среде Borland Delphi только? А если он в Turbo Pascal её наваял - как тогда?
     
  17. Mirrey

    Mirrey New Member

    Joined:
    10 Sep 2010
    Messages:
    35
    Likes Received:
    1
    Reputations:
    0
    alexey-m, так это если в делфи... А у меня на паскале. Просто переделывать много придется =(
     
  18. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Пардон) что-то не подумал про Turbo Pascal, на счет его не знаю, не приходилось юзать ниразу =)
    как вариант пробуй скрывать окно [ ShowWindow(hWindow,SW_HIDE) ] класса TPWinCrt или ConsoleWindowClass, или какой там у тебя класс у консоли посмотри сам
     
  19. Mirrey

    Mirrey New Member

    Joined:
    10 Sep 2010
    Messages:
    35
    Likes Received:
    1
    Reputations:
    0
    а что вы скажите насчет Pascal ABC и о Pascal ABC.NET ? Начал вспоминать паскаль, немного подучил и заметил большую разницу между борланд паскалем и абц... В АБЦ удобно, и с формами работать можно. Я понимаю что это "убогий" язык, но все же.. Кто-то писал на АБЦ?
    З.Ы
    В паскале АБЦ есть большой минус, нельзя компилировать =( только интерпретатор. А в паскаль абц.нет есть компилятор.
     
  20. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Pascal ABC .NET вполне норм имхо
    Но правда если хочешь юзать паскалевский синтаксис под .NET то лучше Delphi Prism
     
    1 person likes this.
Thread Status:
Not open for further replies.