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

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    InDy разрабатывает (насколько мне известно) независимая команда разработчиков.
    Но реально тебе прийдется. Или жди, пока приделают локализацию к мультипартфформдате, или приделывай сам
     
  2. foma9999

    foma9999 New Member

    Joined:
    5 Jan 2010
    Messages:
    83
    Likes Received:
    2
    Reputations:
    -5
    Што?
    Вы хотите сказать, что если человеку нужно отправить файл и русский текст на серв, то делфи не для него?
     
  3. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Проверенный способ решения твоей проблемы: формируй данные POST запроса вручную и записывай их в TMemoryStream. Дальше с помощью Indy отправляй сформированный поток. Все будет отображаться на сайте так, как надо.
     
  4. foma9999

    foma9999 New Member

    Joined:
    5 Jan 2010
    Messages:
    83
    Likes Received:
    2
    Reputations:
    -5
    Да, но как же я файл передам?
     
  5. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Если используешь Indy последней версии и TIdMultiPartFormDataStream для передачи файлов, то в нем есть метод, с помощью которого можно установить поток (TMemoryStream) с твоим содержимым в качестве значения необходимого поля. Трудностей не должно возникнуть.
     
  6. foma9999

    foma9999 New Member

    Joined:
    5 Jan 2010
    Messages:
    83
    Likes Received:
    2
    Reputations:
    -5
    Трудности уже возникли, я прочитал этот текст и не осилил.
    На другом форум мне сказали что перед отправкой нужно кодировать ф-ей HTTPEncode
    Закодировал- вылезла ошибка [​IMG]
     
  7. Lord_Shinnok

    Lord_Shinnok New Member

    Joined:
    30 Jul 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Посмотрел как отправлять файлы по почте, у меня не работает, пример можно, и что бы работал (по примеру я смогу все сделать как мне нужно), но при этом нужно что бы можно было использовать переменные глобальные (для того,что бы можно было задавать возможность отправки файла с флешки (у каждого своя буква флешки), задавания отправки файла с системного диска (у большинства С:\, но встречал и размещение на других дисках).
     
  8. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Как проверить активность IdSMTP на мыле? Когда использую коннект и на почте не включен смтп протокол, прога виснет...
     
  9. Lord_Shinnok

    Lord_Shinnok New Member

    Joined:
    30 Jul 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    компонент антифриз есть на форме? если нет - надо добавить, он предотвращает зависание программы в некоторых случаях.

    если не поможет - проверка должна быть - если соеденитсяне удается в течении оперделенного времени - дисконнект
     
  10. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Антифриз - хня. Чтоб форма не висла, достаточно создать дополнительный поток, в котором будет выполняться код.
    Вопрос был не о зависании программы.
    Можно пример кода?
     
  11. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    как WebBrowser1 сделать фоном в дельфи? нужно поверх веббраузера компоненты Gauge и Label. Button1 по верх норм идет а вот остальные не видно :(

    Добавлено через 1 час 49 минут
    пробовал обойти проблему
    поделить картинку на 2 части но мешает рамка..
    http://i.zhyk.ru/images/1nin.jpg
    как убрать рамку у веббраузере?
     
    #8431 4ipolino, 10 Aug 2011
    Last edited by a moderator: 3 Oct 2011
  12. xmadstyle

    xmadstyle Member

    Joined:
    29 Aug 2008
    Messages:
    91
    Likes Received:
    53
    Reputations:
    24
    В событии OnShow() главной формы используй процедуры для компонента WebBrowser:
    SendToBack() - отправить контрол на задний план.
    BringToFront() - отправить контрол на передний план.
     
    #8432 xmadstyle, 10 Aug 2011
    Last edited: 10 Aug 2011
  13. 2dd

    2dd New Member

    Joined:
    9 Aug 2011
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Как сделать переменную в линии "LOL 123456", дело в том, что само число там идет рандомно, а к этому числу нужно применить команду, например ('BAN ' +переменная). Плз!
     
  14. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Может быть скопировать все после пробела и записать в переменную?
     
  15. 2dd

    2dd New Member

    Joined:
    9 Aug 2011
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Там вообще идет ответ от сервера, каждый раз все числа рандомны. Там линия целиком "LOL olololo 123456 7890" (повторюсь, все данные рандомны после слова LOL). В данном случае к числу 123456 мне нужно применить команду ('ban ' +//123456) Если бы число было не рандомно, то и проблемы не было.
     
  16. 2dd

    2dd New Member

    Joined:
    9 Aug 2011
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Ну тогда уточним на всякий случай, линия идет постоянно каждый раз новая и каждый раз с новым числом, а нужно применять команду к каждой линии и при этом автоматически. Вы советуете каждый раз каждый номер затаскивать в ручную? Мне нужно не в ручную, если знаете как, то кодом плз!
     
  17. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    2dd
    Я так понимаю, вам нужно вытащить число со строки? Если данные, передаваемые сервером содержат одинаковое количество пробелов типа
    то проще парсить текст после 2-го пробела до конца строки.
    Вообще тяжело судить по представленному примеру. Возможно, реальная строка была бы более информативной.
    З.Ы. Также, если вытащить нужно цифры, и до этого в строке они нигде не встречаются, будет разумно организовать чекинг на цифру, и когда она найдена, заносить кусок строки в переменную. Короче - Copy, Pos, etc в помощь.
     
  18. 2dd

    2dd New Member

    Joined:
    9 Aug 2011
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    shadowrun ,
    вот реальная строка:
    Обоим случаям числам 123456 и 1011 нужно применить команду автоматически как только они появятся. Остальные данные трогать ненужно. Можно пример если не сложно?
     
  19. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Можно так:
    PHP:
    var
     
    s:string;
     
    begin
       s 
    := 'LOL a1b1c1 1011 44 22';
       
    Delete(s1pos(' 's));
       
    Delete(s1pos(' 's));
       
    := Copy(s1pos(' 's) - 1);
     
    end;
    Хотя, сомневаюсь, что это как-то поможет :eek: .
     
  20. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Создал подкласс с перечислимыми параметрвми
    TCType = (P_ONE, P_TWO, P_THREE);
    Создал новый класс, в нем переменная с типом данного подкласса..

    TSome = class
    ...
    published
    Perem:TCType;
    ..

    Внутри класса (юнита) - работает нормально.
    Подключаю из другого юнита и пытаюсь завести туда значение -
    var Some:TSome;


    Some.Perem:=P_TWO;
    Посылает - пишет что не объявлен идентификатор P_TWO

    Undeclared identifier: 'P_TWO'

    Как быть?
     
    #8440 2pick, 12 Aug 2011
    Last edited: 12 Aug 2011
Thread Status:
Not open for further replies.