Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы Вопросы по Delphi (до версии 2009) - часть 5

Познаем сами, помогаем другим...
Обсуждаем вопросы, не связанные с юникоидными версиями Delphi - для этого есть соответствующая тема (см. ссылки ниже).


 
Правила топика:
    Прежде чем спрашивать:
  1. Желательно изучить вопрос, попытаться найти ответ в прилагаемых мануалах, хелпах и анализируя исходники.
  2. Выполнить поиск по топику (открыть "Версия для печати" и поискать ответ там).
  3. Применить фильтр по разделу "Прикладное программирование". Ответы на многие старые вопросы могли быть даны в отдельных темах.
  4. Продумайте вопрос. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите.
  5. Желательно указывать версии используемого компилятора и операционной системы.
    Прежде чем отвечать:
  1. Если не можете помочь, не мешайте.
  2. Если уж вы отвечаете на вопрос, давайте ответ по сути.
  3. Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа.
  4. Задавайте дополнительные вопросы, чтобы получить больше информации.
  • Отсутствие ответа не равносильно игнорированию - иногда участники форума просто не знают ответ. Повторная посылка вопроса не приветствуется. Посты типа "неужели никто не знает ответа..." или "может мне все-таки кто-нибудь ответит" недопустимы.  
  • Все большие куски кода (более 5 строк) оформляем в тег [morе] дабы уменьшить размер поста. FAQ по тегу [morе].


    Некоторые "родственные" топики:
     
  • Вопросы по Delphi (версии 2009-2010 Weaver)
  • Вопросы по компонентам для Delphi, C++ Builder
  • Использование DevExpress
  • Вопросы по Ehlib
  • Компоненты и утилиты для Delphi/BCB/FreePascal/Lazarus - только Open Source
  • Коммерческие компоненты и утилиты для Delphi/BCB
  • кабак программистов :)
     
    См. также: Некоторые полезные ресурсы о Delphi
     
    И старайтесь, чтобы ваш код не попал сюда :)

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:13 19-05-2010 | Исправлено: akaGM, 02:33 15-07-2020
    Alexzzy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Дельфи то причем? Для начала надо знать что и как умеет предоставлять Гисметео.

    Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 18:20 26-12-2015
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Alexzzy

    Цитата:
    Дельфи то причем? Для начала надо знать что и как умеет предоставлять Гисметео.

    При деле. Вопрос к тем дельфийцам, кто это знает.

    ----------
    А оно мне надо?..

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 18:43 26-12-2015
    Alexzzy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Я бы разделил задачу на две части. И решение первой искал бы без привязки к Дельфи.
    А то получается типа такого - помогите написать такой-то SQL запрос к такой-то СУБД с использованием Дельфи...

    Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 22:09 26-12-2015
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Alexzzy
    Судя по всему, ответа на заданный вопрос у тебя нет. Тогда непонятна твоя активность.

    ----------
    А оно мне надо?..

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 10:38 27-12-2015
    dimka11gg

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, что исправить? Не работает с концом строки
    Подробнее...

    Всего записей: 503 | Зарегистр. 15-06-2010 | Отправлено: 10:53 27-12-2015 | Исправлено: dimka11gg, 10:56 27-12-2015
    Alexzzy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Жаль что не понятна, иначе возможно уже получил бы решение.
     
    dimka11gg
    while a < l-1 do

    Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 14:10 27-12-2015
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Alexzzy

    Цитата:
    Жаль что не понятна, иначе возможно уже получил бы решение.  

    Телепаты - на каникулах. Есть, что сказать по делу - добро пожаловать, нет - для флуда есть другие топики.
     
    dimka11gg
    Конструкция работать не будет. При l-a>2 словишь исключение при попытке чтения индекса из пустой строки. Ошибка в цикле for: поскольку индексируешь строку, то и в параметры цикла нужно заносить текущую длину индексируемой строки. И, при указанном тобой алгоритме, в любом случае s станет пустой при третьем проходе цикла while.

    ----------
    А оно мне надо?..

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 17:24 28-12-2015
    Alexzzy

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Тебе дали совет. Не нравится - пропусти. Нет, надо пофлудить...

    Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 12:06 29-12-2015
    ShIvADeSt



    Moderator
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ
    Вопрос о том, какой сделать запрос к ГисМетео не относится к Дельфи, так как Дельфи <> ГисМетео. Будет запрос - можно будет спросить, как его оформить в виде кода.  
    Приведенный ранее код выдает данные из шаблона ГМ и не более того. Заставить его выдавать что то большее невозможно. Весь интернет использует эти данные.
    Если необходимо получать другие данные, то либо искать АПИ ГМ, либо парсить сам сайт и быть готовым пилить парсер под каждое изменение страницы.
    Очень много инфы здесь
    http://www.askdev.ru/question/6092/API-%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D1%8B/


    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:31 30-12-2015 | Исправлено: ShIvADeSt, 02:36 30-12-2015
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ShIvADeSt
    Напрямую - нет. Вопрос был задан в расчете на наличие информации у посещающих топик. Нет информации - хорошо, буду копать дальше.
    Если будет запрос, то, как оформить его в коде, разберусь сам. Парсить сайт - нерационально. К тому же, веб-страница отдается по SSL, что, при использовании Indy, тянет за собой две библиотеки OpenSSL.

    ----------
    А оно мне надо?..

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 18:38 30-12-2015
    F777



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 2182 | Зарегистр. 23-02-2004 | Отправлено: 05:25 02-01-2016 | Исправлено: F777, 15:29 02-01-2016
    HekTo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.
     
    Делаю OwnerDraw ListBox. Хочу чтобы выделенный элемент выглядел как в TListView. Для этого в FormCreate:

    Код:
    SetWindowTheme(lBox.Handle, 'explorer', nil)
    FThemeData := OpenThemeData(lBox.Handle {0}, 'LISTVIEW');

    А в OnDrawItem:

    Код:
     
    var
      ElementDetails: TThemedElementDetails;
    begin
      with (Control as TListBox).Canvas do begin
        if odSelected in State then begin
          ElementDetails.Part := LVP_LISTITEM;
          ElementDetails.State := 1;
          with ElementDetails do
            DrawThemeBackground(FThemeData, Handle, Part, State, Rect, nil);
    .............
     

    Получаю серый прямоугольничек. Что я делаю не так?..
    Если заменить 'LISTVIEW' на, например, 'REBAR' и LVP_LISTITEM на RP_BACKGROUND, то всё работает.
     
    ------
    Нашел решение.

    Всего записей: 186 | Зарегистр. 30-09-2003 | Отправлено: 22:58 07-02-2016 | Исправлено: HekTo, 18:02 08-02-2016
    yser

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 14 | Зарегистр. 03-08-2003 | Отправлено: 13:16 25-02-2016 | Исправлено: yser, 13:19 25-02-2016
    GRom_V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здрасте!
    Подскажите плз почему не работает код - не отправляется сообщение (ошибка на  IdSMTP1.Send(IdMessage1);)
     
    var
        attach: TidAttachment;
        begin
          IdSMTP1.AuthenticationType:= atLogin;
          IdSMTP1.Username:='login';  
          IdSMTP1.Password:='1234567';  
          IdSMTP1.Host:='smtp.mail.ru';  
        
          IdSMTP1.Port:=25;  
     
          IdMessage1.CharSet:='windows-1251';
          IdMessage1.ContentType:='text/plain';      
          IdMessage1.Body.text:='Текст';
          IdMessage1.Subject:=ConvertToWIN1251('Тема');  
          IdMessage1.From.Address:='login@mail.ru';  
          //IdMessage1.From.Name:=ConvertToWIN1251('User');  
          IdMessage1.Recipients.EMailAddresses:='login2@mail.ru';  
          IdMessage1.IsEncoded:=true;
        
          try
            
            IdSMTP1.Connect();
            IdSMTP1.Send(IdMessage1);
            showmessage('Сообщение отправлено');
          except
            showmessage('Ошибка при отправке');
          end;
     
        IdSMTP1.Disconnect;
     
        end;

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 06:03 12-04-2016 | Исправлено: GRom_V, 06:04 12-04-2016
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    GRom_V
    Если не изменяет память, мэйлру давно перешли на SSL. Ну и порт, соответственно, - 465.

    ----------
    А оно мне надо?..

    Всего записей: 5438 | Зарегистр. 29-03-2006 | Отправлено: 06:31 12-04-2016
    GRom_V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Уважаемые делфиры... есть такой код:
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdCustomHTTPServer,
      IdHTTPServer, idcontext;
     
    type
      TForm1 = class(TForm)
        IdHTTPServer1: TIdHTTPServer;
        procedure IdHTTPServer1CommandGet(AContext: TIdContext;
          ARequestInfo: TIdHTTPRequestInfo;
          AResponseInfo: TIdHTTPResponseInfo);
     
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
     
     
    procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
      ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
    begin
    idhttpserver1.ServeFile(Athread, AResponseInfo, 'C:\www\root'+ARequestInfo.Document);
    end;
     
    ругается: [Error] Unit1.pas(35): Undeclared identifier: 'ServeFile' Как победить?

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 03:04 26-04-2016
    exteris

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AResponseInfo.ServeFile

    Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 09:09 26-04-2016
    GRom V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    сделал так:
     
    procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
      ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
    begin
    AResponseInfo.ServeFile(AContext ,'d:\www\root'+ARequestInfo.Document);
     
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    IdHTTPServer1.Active:=True;
    end;
     
    Компилится, но при нажатии кнопки выходит ошибка "could njt bing socket. Addrees and port are already in use."
    Что не так?
     
    Добавлено:
    Адрес выставил 127.0.0.1:80  
    И чем это может быть занято?

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 13:30 26-04-2016 | Исправлено: GRom V, 13:50 26-04-2016
    NeoAnomaly

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    И чем это может быть занято?

    Посмотри через netstat. И что у тебя по файрволлам?

    Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 16:21 26-04-2016
    GRom_V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Спасибо - на другой машине без проблем... буду разбираться.
    Еще вопрос :
    У меня index.html лежит в директория 'd:\www\root и если я набираю http://127.0.0.1/index.html то все норм - index.html грузится.
    Как сделать чтоб он грузился при вводе http://127.0.0.1 (без index.html)?
    пробовал так
     AResponseInfo.ServeFile(AContext ,'d:\www\root\index.html'+ARequestInfo.Document); не пашет...
    Подсобите раку)))
     
     
    Добавлено:
    все догнал - просто убрал +ARequestInfo.Document

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 02:24 27-04-2016
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru