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

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

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

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 22:17 28-05-2010 | Исправлено: Aleksandr N, 01:04 29-05-2010
    SIgor33

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

    Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 12:12 31-05-2010
    volser

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

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 13:32 31-05-2010
    A_V

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

    Цитата:
    Перед записью данных в базу обрабатываю BeforePost если нахожу повтор то предлагаю перейти к записи содержащий повтор или остаться на текуще


    Цитата:
    Хотелось что бы при оставании на текущей  post не обработался

    Может наоборот, при переходе к записи с повтором пост не нужен?
    Ну не важно, вариант, предложенный volser прокатит, если пост происходит по нажатию на контрол, и после него нет важного кода, не обработанного в except.
    Но вообще лучше _перед_ вызовом поста делать локейт по датасету, и если он вернет false, то тогда уж постить
     

    Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 02:48 02-06-2010
    ShIvADeSt



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

    Цитата:
    Но вообще лучше _перед_ вызовом поста делать локейт по датасету, и если он вернет false, то тогда уж постить  

    Не вижу с какой базой данный идет работа, но я бы такие вещи на MSSQL реализовал через триггеры и при инсерте проверял есть такая запись или нет. Если существует - то возвращал бы ошибку.

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

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:22 02-06-2010
    mistersnap

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HELP!!! Дипломка горит. Делаю базу данных для стоматологии в Delphi7, нужно  втавить карточку заверенную минздравом, что бы потом пустить на печать, карточка с расширением *.doc использовал поле memo и richedit проблема в том, что не могу защитить документ от стирание символов. Так же для строк использовал (___________), при записи даных получается (____вот так______); автофигуры использовать немогу они не вставляются в компоненты. Подскажите пожалуйста как можно сделать.

    Всего записей: 2 | Зарегистр. 23-04-2010 | Отправлено: 10:02 02-06-2010
    AviDen



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

    Всего записей: 316 | Зарегистр. 05-06-2007 | Отправлено: 10:05 02-06-2010
    snike555



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mistersnap
    Во первых: использовать OLE контейнер если тебе важен doc, во вторых: использовать поля и защитить документ от редактирования кроме полей.

    Всего записей: 380 | Зарегистр. 02-10-2009 | Отправлено: 10:06 02-06-2010
    AviDen



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SIgor33, ShIvADeSt, а лучше primary key или unique index. И, кстати, это есть не только в сиквелле, а в любой БД, включая файл-серверные.

    Всего записей: 316 | Зарегистр. 05-06-2007 | Отправлено: 10:08 02-06-2010
    A_V

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AviDen
    с констрейнтом разумеется правильней, но одно другому не мешает, можно дополнительно на клиенте проверить. можно и не проверять, но это будет требовать лишних телодвижений - перевести ошибку сервера, встать на уже существующую запись. да и вобще, случаи разные бывают, иногда накладно левые данные по сети гонять, а можт вообще база представляет из себя xml =)

    Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 14:12 02-06-2010 | Исправлено: A_V, 14:15 02-06-2010
    mistersnap

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо. Решил проблему. Открыл через OLE контейнер  и защитил документ кроме полей.

    Всего записей: 2 | Зарегистр. 23-04-2010 | Отправлено: 11:37 03-06-2010
    mvl000



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите перевести функцию  на паскаль
     
     
        Name: ZASHIFR
       Params: P1
       Return: String
      Example: ZASHIFR(P1)
     
    FUNCTION ZASHIFR(P1)
     
       LOCAL L2, L3 := ""
     
       IF VALTYPE(P1) == "A"
     
          FOR L2 := 1 TO LEN(P1)
     
             P1[L2] := ZASHIFR(P1[L2])
     
          NEXT
     
          RETURN P1
     
       ELSE
     
          FOR L2 := 1 TO LEN(P1)
     
             L3 := L3 + CHR(256 - ASC(SUBSTR(P1, L2, 1)))
     
          NEXT
     
       ENDIF
     
     
    RETURN L3

    Всего записей: 25 | Зарегистр. 31-03-2010 | Отправлено: 13:37 08-06-2010
    Sampron

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Люди подскажите как можно из текстового файла полностью удалить  строки в которых находится определенное слово (по маске)???

    Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 20:44 09-06-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sampron
    Ну можно читать файл построчно, и искать нужное слово. Если маска должна быть достаточно сложной, то есть TRegExpr и ему подобные.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 00:29 10-06-2010
    EugeneBoss3



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Знатоки, подскажите как нарисовать градиентный текст под углом. С обычным текстом вроде разобрался, привожу пример реализации. Можно ли его применить к тексту под углом?
    код примера

    Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 03:14 11-06-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EugeneBoss3
    Можно: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=94

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 11:16 11-06-2010
    EugeneBoss3



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    Про гадиентный текст в примерах ничего нет!?

    Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 03:50 12-06-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EugeneBoss3
    Зато там есть про текст под углом.
    Или вы хотите сам градиент рисовть под углом? Тогда посмотрите как там выводится надпись "Delphi Kingdom", вам надо только заменить рисунок кораблика на нужный градиент. Ну или можно использовать библиотеку наподобие Graphics32 или AggPas, там это наверняка тоже есть.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 11:42 12-06-2010
    EugeneBoss3



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    Мне нужно именно залить градиентом текст, который расположен под углом. Библиотеку Graphics32 пытался использовать, но слишком для меня замудренно. С градиентной фантазией я тоже знаком. В VB данную проблему решили, как это сделать в Delphi?

    Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 03:41 13-06-2010 | Исправлено: EugeneBoss3, 03:44 13-06-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EugeneBoss3
    Гдето также как и в VB. Вообще если не нужны большие углы поворота, то пойдет и ваш код, нужно только перед ним вставить строку с вызовом CreateFont из примера по моей ссылке (там 600 - это угол 60°). При больших углах уже надо вспоминать школьную геометрию и править в вашем коде расчет границ рисования.

    Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 15:15 13-06-2010 | Исправлено: Frodo_Torbins, 15:16 13-06-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 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