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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    mdid

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AutoEdit стоит в true по умолчанию....блииин шож за напасть такая...опять подлая галка в компоненте  заберет несколько часов.... на ровном месте
     
    в общем  всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало

    Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 12:59 18-09-2009 | Исправлено: mdid, 15:05 18-09-2009
    gelios



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mdid
    я бы сделал вьюшку на стороне сервера и работал с ней без проблем...

    Всего записей: 52 | Зарегистр. 05-01-2003 | Отправлено: 15:10 18-09-2009
    ShIvADeSt



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

    Цитата:
    я бы сделал вьюшку на стороне сервера и работал с ней без проблем

    А разве Views меняют реальные данные в таблице? По моему (могу ошибаться ОФК) они предназначены только для выборки данных.

    Цитата:
    в общем  всему виной запрос из 2 таблиц..так нельзя...с одной таблицы все поехало

    Как таблицы соединял (join или select from table1, table2)? На работе буду - попробую. Хотя я немного по другому при работе снесколькими табшицами действовал.

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 15:42 18-09-2009
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mdid
    Какой текст запроса? Может есть повторяющиеся названия полей?
     
    ShIvADeSt
    Для MSSQL на view можно нацепить триггер который меняет данные в нужных таблицах.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 16:28 18-09-2009
    greenpc

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

    Цитата:
    Views are known as logical tables. They represent the data of one of more tables. A view derives its data from the tables on which it is based. These tables are called base tables. Views can be based on actual tables or another view also.  
     
    Whatever DML operations you performed on a view they actually affect the base table of the view. You can treat views same as any other table. You can Query, Insert, Update and delete from views, just as any other table.  
     
    Views are very powerful and handy since they can be treated just like any other table but do not occupy the space of a table.  
     

    _http://www.oracle-dba-online.com/sql/create_and_manage_views.htm

    Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 20:01 18-09-2009
    mdid

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

    Код:
     
    SELECT g.Наименование,g.Тип FROM group as g where g.Принадлежит='траляля'
    union
    SELECT s.Наименование,s.Тип FROM spr as s where s.Принадлежит='траляля'
     

    Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 10:55 19-09-2009
    dmmarch

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята нужен совет экспертов.
    Никогда не имел дела с графикой, проблема следующего рода.
    Есть набор данных - две координаты (широта и долгота) и любое значение в этих координатах. Необходимо построить карту этих значений приблизительно такого вида
    http://webb.nm.ru/kycher.jpg
    Долго искал компоненты которые могут делать подобное но кроме SDL component suite ничего не нашел, а она поддерживает такие вещи с версии 9 а кроме 7.2 ничего нет.
    Подскажите пожалуйста хотя бы направление, куда смотреть и что использовать.
    Заранее благодарен

    Всего записей: 7 | Зарегистр. 19-09-2009 | Отправлено: 00:35 20-09-2009
    Delta RuBoard



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

    Код:
    function TForm1.Code():string;
    var
      ABC: array[0..51] of string;
      i,k,q:integer;
    begin
      i := 7;
      ABC[0] := 'a';
      ABC[1] := 'b';
      ABC[2] := 'c';
      ABC[3] := 'd';
      ABC[4] := 'e';
      ABC[5] := 'f';
      ABC[6] := 'g';
      ABC[7] := 'h';
      ABC[8] := 'i';
      ABC[9] := 'j';
      ABC[10] := 'k';
      ABC[11] := 'l';
      ABC[12] := 'm';
      ABC[13] := 'n';
      ABC[14] := 'o';
      ABC[15] := 'p';
      ABC[16] := 'q';
      ABC[17] := 'r';
      ABC[18] := 's';
      ABC[19] := 't';
      ABC[20] := 'u';
      ABC[21] := 'v';
      ABC[22] := 'w';
      ABC[23] := 'x';
      ABC[24] := 'y';
      ABC[25] := 'z';
      ABC[26] := 'A';
      ABC[27] := 'B';
      ABC[28] := 'C';
      ABC[29] := 'D';
      ABC[30] := 'E';
      ABC[31] := 'F';
      ABC[32] := 'G';
      ABC[33] := 'H';
      ABC[34] := 'I';
      ABC[35] := 'J';
      ABC[36] := 'K';
      ABC[37] := 'L';
      ABC[38] := 'M';
      ABC[39] := 'N';
      ABC[40] := 'O';
      ABC[41] := 'P';
      ABC[42] := 'Q';
      ABC[43] := 'R';
      ABC[44] := 'S';
      ABC[45] := 'T';
      ABC[46] := 'U';
      ABC[47] := 'V';
      ABC[48] := 'W';
      ABC[49] := 'X';
      ABC[50] := 'Y';
      ABC[51] := 'Z';
      Edit2.Text := Edit1.Text;
      for k := 0 to 51 do begin
        q:=7+k;
        if q>=51 then q:=q-51;
        Edit2.Text := StringReplace(Edit2.Text,ABC[k],ABC[q],[rfReplaceAll]);
      end;
    end;

    нужно что бы буква заменялась на следующюю + i по счету. но чего то не получается..
    например asd должно перейти в hzk, а переходит в fcb >.<

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

    Всего записей: 382 | Зарегистр. 21-06-2005 | Отправлено: 03:45 20-09-2009 | Исправлено: Delta RuBoard, 03:49 20-09-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Delta RuBoard
    Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?
    Для наглядности предлагаю после строки со StringReplace вставить:

    Код:
      Edit2.Repaint;
      sleep(250);

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 11:28 20-09-2009 | Исправлено: Frodo_Torbins, 11:35 20-09-2009
    Hiken



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dmmarch
    Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.
     
    Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.

    Всего записей: 1343 | Зарегистр. 14-01-2006 | Отправлено: 12:12 20-09-2009
    dmmarch

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

    Цитата:
    Ну раз уже такое очень нужно, можно и самому сделать. Как видно по карте, там простой закон изменения цвета - КОЖЗГСФ.  
     
    Берите красный цвет в формате HSV и изменяйте в нём параметр H с нужным шагом. После переводите HSV в RGB и отмечаете на битмапе.

    Спасибо, а что делат с подсветкой?

    Всего записей: 7 | Зарегистр. 19-09-2009 | Отправлено: 12:17 20-09-2009
    ShIvADeSt



    Moderator
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Delta RuBoard
    Алгоритм Цезаря? Объясняю в краце что у тебя происходит. Ты переводишь а в б,но после этого у тебя на след этапе цикла б переходит в в и так далее.
    Тебе надо не StringReplace использовать, кстати гораздо проще можно так сделать

    Код:
     
    tStr:Edit2.Text;
    AStart:=$41; /// начало англ алфавита в кодах
    for i:=1 to Length(tStr) do
      tStr[i]:=Chr(AStart + (Ord(tStr[i]) - AStart + 7) mod 52);
     



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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 12:30 20-09-2009
    Delta RuBoard



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

    Цитата:
    Delta RuBoard  
    Ну допустим на нулевой итерации вы преобразите "a" в "h". А что произойдет на седьмой итерации?  
    Для наглядности предлагаю после строки со StringReplace вставить:  
     

    бр, теперь оно мне во втором едите показывает циклы замен, но в итоге меняет на тоже самое что и изначально.. я не понимаю как это сделать на делфи на пхп все гараздо проще и компактнее
     
    Добавлено:
    ShIvADeSt да, он. только я не много не понял что делает данный кусок кода =\
     
    Добавлено:

    Код:
    AStart:=$41;  

    его в вар загонять нужно? и с каким типом ?

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

    Всего записей: 382 | Зарегистр. 21-06-2005 | Отправлено: 12:35 20-09-2009
    Hiken



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dmmarch
    Какая подсветка? В этом этом спектре уже заложены различные градации.

    Всего записей: 1343 | Зарегистр. 14-01-2006 | Отправлено: 12:42 20-09-2009 | Исправлено: Hiken, 12:43 20-09-2009
    Delta RuBoard



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

    Код:
    function TForm1.Cesar_Crypt():string;
    const
      SizeA = 26;
      RusA = 'abcdefghijklmnopqrstuvwxyz';  
    var i, P :integer;
        temp,s:string;
    begin
      s:=AnsiLowerCase(Edit1.Text);
      temp:='';
      for i := 1 to length(s) do if pos(s[i],RusA)<>0 then temp:=temp+s[i];
      s:=temp;
      for i:=1 to length(s) do
        begin
        P:=pos(s[i],RusA)+1;
        if P>SizeA then P:=P-SizeA;
        Result:=Result+RusA[P];
      end;
      Edit2.Text := Result;
    end;

    во, нашел всем спасиб за помощь))
     
    Добавлено:
    вопрос теперь новый. как мне сделать 2 ряда радиобутонов? ну тоесть что бы я мог выбирать из 3х один и потом еще из 2х других один?

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

    Всего записей: 382 | Зарегистр. 21-06-2005 | Отправлено: 12:51 20-09-2009
    dmmarch

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hiken
    Я имел ввиду  псевдо 3Д, я так понимаю что если садить на битмет по цветам картинка получится 2Д или я не прав?

    Всего записей: 7 | Зарегистр. 19-09-2009 | Отправлено: 13:16 20-09-2009
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Стало интересно, написал свой вариант:
    Код:
    procedure TForm1.Code;
    var
      tempS: string;
      i, newVal: integer;
     
    const
      delta = 7;       //будем сдвигать на delta символов
      FirstChar = 'A';
      LastChar = 'z';
      WorkingSet = [FirstChar..LastChar]; //набор обрабатываемых символов
      WorkingSetLength = Ord(LastChar) - Ord(FirstChar); //длина набора
     
    begin
      tempS := Edit1.Text;             //с временной переменной быстрее работа
     
      for i := 1 to Length(tempS) do   //пробегаемся по строке
        if tempS[i] in WorkingSet then //все, что не является буквой, не трогаем
        begin
          newVal := Ord(tempS[i]) + delta;       //номер нового символа
          if newVal > ord(LastChar) then         //если вышли за границы набора
            newVal := newVal - WorkingSetLength; //то возвращаемся в начало
          tempS[i] := Chr(newVal);               //изменяем нужный символ
        end;
     
      Edit2.Text := tempS;
    end;

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 13:21 20-09-2009 | Исправлено: Frodo_Torbins, 13:25 20-09-2009
    Hiken



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dmmarch
    Какое еще псевдо-3D? То, что картинка немного сужена кверху? Ну так, если нужны подобные трансформации, смотрите в сторону афинных преобразований или уже готовых библиотек на эту тему.
     
    Так понимаю, у вас это температурная карта, или карта высот, что в массиве храниться? Поделите весь диапазон возможных значений на некоторое количество. В соответствии с ним же получится и шаг для параметра H.

    Всего записей: 1343 | Зарегистр. 14-01-2006 | Отправлено: 13:35 20-09-2009 | Исправлено: Hiken, 13:36 20-09-2009
    Frodo_Torbins

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

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 13:47 20-09-2009
    Hiken



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    А, ну дык всегда можно покрутить параметры S и L, в зависимости от чего-нибудь - уже самому посмотреть-подумать.

    Всего записей: 1343 | Зарегистр. 14-01-2006 | Отправлено: 13:49 20-09-2009 | Исправлено: Hiken, 13:50 20-09-2009
       

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