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

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

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

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Frodo_Torbins

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

Цитата:
Два байта на букву - это мало.

А кто вам сказал, что два - максимум? Согасно этой статье юникод позволяет закодировать 2^31 символов.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Так этож юникод. А Делфи 2009 это ж виде.
 
Кстати нашол RtlVclOptimize. Он умеет код своего процесса фиксить, но для етого линкуется на прямую с VirtualProtect. А это не есть гуд.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 11:22 13-02-2009
StalkerSoftware



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

Цитата:
Как вариант можно пока обьявить Key как AnsiCha

Этого я сделать не могу, так как Key это var параметр обработчика нажатия клавиши OnKeyPress.  
 
CharInSet я тоже пробовал
if CharInSet(Key, ['а'..'я', 'А'..'Я']) then  
он так же не работает.

Всего записей: 682 | Зарегистр. 23-06-2008 | Отправлено: 19:02 13-02-2009 | Исправлено: StalkerSoftware, 19:03 13-02-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Цитата:
Так этож юникод. А Делфи 2009 это ж виде.

Сурогатные пары в D2009 тоже поддерживаются, так что юникод там реализован на 100%.
 
StalkerSoftware
Цитата:
Этого я сделать не могу, так как Key это var параметр обработчика нажатия клавиши OnKeyPress.

Ну и? Обьявите новую переменную AnsiChar, присвойте ей значение key...

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:38 13-02-2009 | Исправлено: Frodo_Torbins, 19:38 13-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
 И если уникоде я должен придерживаться Анси стринг или стринг?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 19:52 13-02-2009
DokPZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как в процессе работы программы, зная имя глобальной переменной (string) обратиться к этой переменной?

Всего записей: 22 | Зарегистр. 12-12-2007 | Отправлено: 20:42 13-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DokPZ
Сделайте
ShowMessageFmt('___', [переменнаЯ]);

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:46 13-02-2009
DokPZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
надо, чтобы процедура получив stringовый параметр с именем переменной, присвоила ей значение. В переменной этой массив чисел. Размер массива заранее неизвестен.

Всего записей: 22 | Зарегистр. 12-12-2007 | Отправлено: 21:07 13-02-2009 | Исправлено: DokPZ, 21:24 13-02-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Цитата:
И если уникоде я должен придерживаться Анси стринг или стринг?
Не совсем понял, о чем вы. String в D2009 юникодный (String = UnicodeString), а AnsiString соответственно ансишный.
 
DokPZ
Цитата:
надо, чтобы процедура получив stringовый параметр с именем переменной, присвоила ей значение.
В откомпилированной программе нет информации о названиях переменных.

Цитата:
В переменной этой массив чисел. Размер массива заранее неизвестен.
Все, что вы можете, это передать указатель на эту переменную.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 23:12 13-02-2009 | Исправлено: Frodo_Torbins, 23:13 13-02-2009
z3r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Необходимо вводить функцию ее в программу и далее ее расчитывать разным способами расчитывать сделал а вот со вводом сложнее. Как обработать? там к примеру sin(exp^-x)
 
И еще вопрос можно ли через какой то компонент кроме OLE работать с таблицами Excel. В основном записывать туда результат!

Всего записей: 91 | Зарегистр. 29-03-2007 | Отправлено: 00:59 14-02-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
z3r
Цитата:
Необходимо вводить функцию ее в программу и далее ее расчитывать разным способами расчитывать сделал а вот со вводом сложнее. Как обработать? там к примеру sin(exp^-x)
Для этого вашу функцию надо парсить, об этом есть статьи в делфикингдоме, да и на торри готовые компоненты должны быть.
 

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 10:04 14-02-2009
z3r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дельфикингдом прочесываю...а что за торри?

Всего записей: 91 | Зарегистр. 29-03-2007 | Отправлено: 11:20 14-02-2009
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
z3r
____://torry.net/

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 15:05 14-02-2009 | Исправлено: shulum, 19:14 14-02-2009
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите разобраться плз..
var
  Reg: TRegistry;
  Res:string;
  buf: array of byte;
  i,bufSize:integer;
begin
    Reg := TRegistry.Create;
    try
      Reg.RootKey := Key;
      if Reg.OpenKey(SubKey, True) then
      begin
            // Определить размер
          bufSize:=Reg.GetDataSize(Param);
          // Установить размер динамического массива
          SetLength(buf,bufSize);
          Reg.ReadBinaryData(Param, buf,bufSize);
         Showmessage((IntToHex(buf[0],2)));
    finally
      Reg.CloseKey;
      Reg.Free;
    end;
end;
 
 
на Showmessage получаю Acsess violation.
Если же использую статический массив то все работает.  
 
var
  Reg: TRegistry;
  Res:string;
 buf: array [0..15]of byte;
 i,bufSize:integer;
begin
 
    Reg := TRegistry.Create;
    try
      Reg.RootKey := Key;
      if Reg.OpenKey(SubKey, True) then
      begin
           // Определить размер
           bufSize:=sizeof(buf);
           Reg.ReadBinaryData(Param, buf,bufSize);
         Showmessage((IntToHex(buf[0],2)));
      end;
    finally
      Reg.CloseKey;
      Reg.Free;
    end;
 
Добавлено:
спасибо за внимание. достаточно было сделать так: Reg.ReadBinaryData(Param, buf[0], bufSize)

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 00:39 15-02-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Erazer
Попробуйте так:
Код:
Reg.ReadBinaryData(Param, buf[0],bufSize);

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 10:28 15-02-2009 | Исправлено: Frodo_Torbins, 10:29 15-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Да это понятно, если моя прога работает с UnicodeString, то систему никто ещё не отменял. Я знаю функции MessageBoxA и MessageBoxW. Но функцию MessageBoxU я не видывал. Есть ли смысл заморачиваться с переводом такой проги, которая уже конвертит юникод в анси, так вот есть ли смысл переводить её на WideString при обращении к системе?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 13:43 15-02-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
WideString остается только для работы с COM, во всех остальных случаях его заменяет UnicodeString. Например:
Код:
MessageBoxW(0, PChar(Form1.Caption), 'Message:', MB_OK);
Как можно догадатся, Form1.Caption имеет тип String (UnicodeString).

Цитата:
которая уже конвертит юникод в анси
Всякие конвертации можно будет во многих случаях или вообще убрать, или сильно упростить. Хотя в общем не видя конкретного кода, тяжело чтолибо советовать.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 16:12 15-02-2009 | Исправлено: Frodo_Torbins, 16:17 15-02-2009
DmitryKz

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

Всего записей: 3144 | Зарегистр. 29-09-2005 | Отправлено: 16:33 15-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Тут Вы меня сильно просветили, и я бы сказал озадачили... Мне уже видно свои брёвна. Я ещё по CPU не успел полазить. У меня что-то Shell интерфейсы к ярлыкам стали с ошибками работать, так я и не подозревал что где-то юникод просмотрел.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 00:09 16-02-2009
InSe0F



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем салют. не знаю туда ли пишу но вопрос такой
поставил CodeGear.Rad.Studio. 2009
но вот проблема, не сохраняется скомпилированный файл проекта, вообще никакого, кроме демо
пишет warring - установлен параметр -J
где можно это убрать? или проблема в кряке...

Всего записей: 533 | Зарегистр. 13-03-2006 | Отправлено: 00:39 16-02-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 (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru