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

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

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

ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ShIvADeSt



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

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

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

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:09 28-06-2009 | Исправлено: psa1974, 12:00 02-02-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В компонент ClientDataSet загружаю xml файл (через утилиту xmlMapper создаю трансформационные файлы для импорта и экспорта) через xmlTransform:
     
      XMLTransform1.SourceXmlFile := 'D:\OX.xml';
      XMLTransform1.TransformationFile := 'D:\OXtrans.xtr';
      ClientDataSet1.XMLData := XMLTransform1.data;
     
     отображаю в гриде, редактирую, подскажите пож как записать обратно в файл, так НЕ получается:
     
      XMLTransform1.SourceXml := ClientDataSet1.XMLData ;
      XMLTransform1.TransformationFile := 'D:\toxml.xtr';
      XMLTransform1.SourceXmlFile := 'D:\OX.005.xml';
     
    или так:
     
      XMLTransformProvider1.XMLDataFile := 'D:\O.005.xml';
      XMLTransformProvider1.TransformWrite.TransformationFile := 'D:\toxml.xtr';
      XMLTransformProvider1.DataRequest(ClientDataSet1.data);
     
    заранее благодарен.

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 13:51 05-01-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тону в загадках
     
    В одном проекте работает на Ура  
     

    Код:
    SendMessage(form1.handle, ConstM.msg_Sprav_simple, 66666 , lParam( Pansichar('asas')) );
    ..................................................
    procedure TFormSpravSimple.Requery(var Msg: TMessage);
    if Lowercase(trim(String(msg.LParam)))='1' then showmessage('asdas');

     
    В другом не роботает !!!  Работает толькко если пересылать Integer в  Lparam и w.param
     

    Код:
    SendMessage(form1.handle, ConstM.msg_Sprav_simple, 66666 , 999999);

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 20:22 07-01-2010
    psa1974



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

    ----------
    У программёра есть два состояния: "Втупляю" и "Попёрло"...

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 21:47 07-01-2010 | Исправлено: psa1974, 22:00 07-01-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    psa1974 Шаман !!!
     
     
    Добавлено:
    Великий ALL Могучь !!!
     
    Вот мой код рожденный  в муках  для передачи параметры форме (до интерфейсов не дорос)
     
    Если форма модальная то SetStrProp(F, {значение}); работает и в свойстве formN.ONSHOW
    все ОК .
    Если форма  не модальная  то в событии Вызываемой формы  ONSHOW  значение может появиться, а может и   нет !!!  
     

    Код:
    procedure TDM.FormLoaderNormal(const FormName:String;mode:integer=-1;code:String='';modal:integer=0;sql:string='');
    var
      I:integer;
      F: TCustomForm;
      bExists:boolean;
    begin
    try
        bExists:=false;
        for I := 0 to Screen.FormCount - 1 do
              if  Lowercase('t'+Screen.Forms[i].Name)= Lowercase(FormName) then
                begin
                  bExists:=true;
                  F:=Screen.Forms[i];
                end;
     
        if bExists=false then F := TFormClass(FindClass(FormName)).Create(Application);
     
        if Mode<>-1 then SetStrProp(F, 'idMode', IntTostr(Mode));
        if Code<>'' then SetStrProp(F, 'idCode', Code);
        if SQL<>''  then  SetStrProp(F, 'idSQL', SQL);
     try
        if modal=1 then f.ShowModal else f.Show;
     except
     end;
     
    finally
      if modal=1 then f.Free;
    end;
     
    end;

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 23:12 07-01-2010 | Исправлено: JohnSilver182, 01:02 08-01-2010
    Delta RuBoard



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    если использовать TWebBrowser, получение и вывод инфо происходит через

    Код:
    WebBrowser1.Navigate(ComboBox1.Text);

     
    можно ли сделать так, что бы при загрузке страницы ссылки на рисунке (предположим только img.site.ru) заменялись на (img.site2.ru) и грузились именно с того пути на который мы произвели замену?
     
    Добавлено:
    или же если нет, то каким образом можно сделать подобный браузер?

    ----------
    мой маленький блог
    Создание on-line игр

    Всего записей: 382 | Зарегистр. 21-06-2005 | Отправлено: 03:08 08-01-2010
    VadimLou



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможно так:
     
    Загрузить страницу в режиме отключенного отображения рисунков.
    Получить распарсенный обьект страницы IHTMLDocument2.
    Пробежаться по коллекции рисунков:
      function Get_images: IHTMLElementCollection;
    И для нужных ссылок поменять HTML код:
      IHTMLElement =...
        function Set_innerHTML(const p: WideString);
      or
      IHTMLElement ==> IHTMLImgElement.Set_src(...)
     
    Затем принудительно отобразить рисунок
      http://www.bsalsa.com/forum/showthread.php?t=1256
      http://www.bsalsa.com/forum/showthread.php?t=859
      http://www.bsalsa.com/forum/showthread.php?t=1077
    Или получить код исправленной т.о. страницы и загрузить его в TEmbeddedWB(TWebBrowser) с включённым отображением страниц.

    Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 17:26 11-01-2010 | Исправлено: VadimLou, 17:52 11-01-2010
    Despised_Icon

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер, решите пожалуйста задачку на двумерный массив(Delphi 7). задача:Найти минимальный элемент в каждой строке двумерного массива, среди минимумов найти максимум M. Найти максимум в каждом столбце, среди максимумов найти минимум m. Сравнить M и m.
    Заранее спасибо

    Всего записей: 2 | Зарегистр. 11-01-2010 | Отправлено: 19:04 11-01-2010
    volser

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

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 21:15 11-01-2010
    Despised_Icon

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

    Цитата:
    Despised_Icon
    Какой из пунктов задачи не получается? Как пробовали делать?

    реши пожалуйста мне очень надо к завтрашнему дню, а я вобще не понимаю массивы

    Всего записей: 2 | Зарегистр. 11-01-2010 | Отправлено: 21:45 11-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Есть ClientDataSet, в нем загружена инфа из xml файла. Первая запись это заголовок, последнее поле содержит в себе остальные записи (получается что то вроде дерева). Вопрос: как загрузить это в cxGrid. Привязка полей в гриде указываю через databindidng -> fildname (может можно как то так указать fields -> fild1). Заранее благодарен.

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 12:54 12-01-2010
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010
    Приведите пример данных. Не совсем понятно что нужно сделать.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 13:08 12-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    <body>
    <section type="O" ver="xml1" nobj="66" month="12" year="2009" smena="5">
     
    <fields>
     <DateTime>40152.927186412</DateTime>
     <Point>0</Point>
     <Flags>6</Flags>
     <ProductName>???. "Dunhill Gold" ???</ProductName>
     <Product>14</Product>
     <Iter>0</Iter>
     <Card>0</Card>
     <Check>21694</Check>
     <DatRelease>1</DatRelease>
     <DatRequest>1</DatRequest>
     <DatS>4800</DatS>
     <TaxPrice>0</TaxPrice>
     <NDSPrice>0</NDSPrice>
     <MinNt>10</MinNt>
     <Valuta>1</Valuta>
     <VTax>0</VTax>
     <Rozn>0</Rozn>
     <Skid>1</Skid>
     <Discount_abs>0</Discount_abs>
     <Plot>0</Plot>
     <Kg>0</Kg>
     </fields>
    <fields>
     <DateTime>40152.927558588</DateTime>
     <Point>31</Point>
     <Flags>6</Flags>
     <ProductName>??-92</ProductName>
     <Product>3</Product>
     <Iter>0</Iter>
     <Card>0</Card>
     <Check>21695</Check>
     <DatRelease>6.7</DatRelease>
     <DatRequest>6.7</DatRequest>
     <DatS>2470</DatS>
     <TaxPrice>0</TaxPrice>
     <NDSPrice>376.78</NDSPrice>
     <MinNt>10</MinNt>
     <Valuta>1</Valuta>
     <VTax>0</VTax>
     <Rozn>0</Rozn>
     <Skid>1</Skid>
     <Discount_abs>0</Discount_abs>
     <Plot>0</Plot>
     <Kg>0</Kg>
     </fields>
     
     
    Добавлено:
    Обрабатываю xmlMapper' ом, получается одна строка из 7 полей, последнее поле fields в котором содержаться все записи

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 13:21 12-01-2010
    SIgor33

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

    Цитата:
    Найти минимальный элемент в каждой строке двумерного массива

    var  
    a:array[1..10,1..10] of real;
    i:integer;
    max,max_temp:real;
    begin
    i:=1;
    max:=a[1,1]
    while i<=10 do  
     begin
      if a[i,i]>a[i,i+1] then
       max_temp:=a[i,i]
       else max_temp:=a[i,i+1];
     if max_temp>max then max :=max_temp;
     inc(i);
      end;

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 13:53 12-01-2010
    V1s1ter



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SIgor33
    Если уже ответили Despised_Icon, то хоть напишите не уверены, что правильно.    
    похожее на правду так:

    Код:
     
    const
      KolStrok = 10;
      KolStolb = 20;
    var
      A: array[1..KolStrok, 1..KolStolb] of real; //исходный двумерный массив
      i, j: integer;
      Amax: array[1..KolStrok] of real; // результат - одномерный массив
    begin
      i := 1;
      while i <= KolStrok do begin
        Amax[i] := A[i, 1];
        j := 2;
        while j <= KolStolb do begin
          if A[i, j] > Amax[i] then Amax[i] := A[i, j];
          inc(j);
        end;
        inc(i);
      end;
    end.
     

     
     
     
    Добавлено:
    в Догонку
    приведено лишь решение для "Найти минимальный элемент в каждой строке двумерного массива"

    Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 14:44 12-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Перефразирую вопрос:
     
    Есть компонент ClientDataSet, определил поля pl1,pl2,pl3,поле pl3 назначил
    DataSet-ом, внутри которого есть поля fld1, fld2
     
    Можно ли сделать так чтобы на форме СРАЗУ было два грида
    один с полями pl1,pl2,pl3 (master), второй fld1,fld2 (detail) ?

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 15:54 12-01-2010
    volser

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

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 16:38 12-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    ОГРОМНОЕ спасибо, все что хотел сделал...

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 17:20 12-01-2010
    jonikDk



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

    Цитата:
    Добрый вечер, решите пожалуйста задачку на двумерный массив(Delphi 7). задача:Найти минимальный элемент в каждой строке двумерного массива, среди минимумов найти максимум M. Найти максимум в каждом столбце, среди максимумов найти минимум m. Сравнить M и m.

     
    во наглость... гнать надо таких !!!

    Всего записей: 1604 | Зарегистр. 01-03-2004 | Отправлено: 18:17 12-01-2010
    snike555



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010
    А почему бы это не сделать 2 DataSet`ами и там уже назначит mastert-detail? Зачем датасет в датасете?

    Всего записей: 380 | Зарегистр. 02-10-2009 | Отправлено: 18:45 12-01-2010
    SIgor33

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

    Цитата:
    о хоть напишите не уверены, что правильно

    Извените пожалуйста, учту

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 09:28 13-01-2010
       

    Страницы: 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

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 5
    ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru