Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (до версии 2009) - часть 5

Автор: V1s1ter
Дата сообщения: 20.01.2010 11:41
crazypiggy
Вот Вам примеры в исходниках по рисовании линий, плоского и объемного текста.
http://www.onlinedisk.ru/file/324721/
Возможно потребует кмодуль типа RxCombo, то удалите его из секции uses, они уже не используются.
Автор: greenpc
Дата сообщения: 20.01.2010 12:11
victorman2010

Цитата:
sXTR := OpenDialog1.Filename;

надеюсь, что sXTR <>'C:\_zx.xml' ?
_http://www.delphisources.ru/pages/faq/base/compress_and_uncompress_threads.html
код рабочийю Попробуй на время в проэкте убрать компрессию и посмотри как работает.
Автор: victorman2010
Дата сообщения: 20.01.2010 12:28

Цитата:
надеюсь, что sXTR <>'C:\_zx.xml' ?

нет конечно

Цитата:
код рабочийю Попробуй на время в проэкте убрать компрессию и посмотри как работает.

В xml файл записывается нормально (в нормальной кодировке).
Может как то в cxGride можно отобразить в др. кодировке. Пробовал Utf8ToAnsi, не помогло.

Автор: JohnSilver182
Дата сообщения: 20.01.2010 13:38

Цитата:
Вот Вам примеры в исходниках по рисовании линий, плоского и объемного текста.
http://www.onlinedisk.ru/file/324721/
Возможно потребует кмодуль типа RxCombo, то удалите его из секции uses, они уже не используются.


Читал http://bash.org.ru/ и нечаянно переключился на это окно , читаю и думаю что http://bash.org.ru/ что то несмешной сегодня
Автор: greenpc
Дата сообщения: 20.01.2010 14:29
victorman2010
играем в ромашку

Цитата:
В xml файл записывается нормально (в нормальной кодировке).

что вы считаете "нормальной" ? тип кодировки?

Цитата:
Может как то в cxGride можно отобразить в др. кодировке

можно. GetDisplayText
всетаки нужно
Цитата:
др. кодировке
перевести в "нормальную для грида"
Автор: V1s1ter
Дата сообщения: 20.01.2010 14:57
JohnSilver182
И чем Вам так понравилась цитата?
только ответьте пожалуста в ЛС, чтоб не флудить тут.
Автор: victorman2010
Дата сообщения: 20.01.2010 14:58
greenpc
Спасибо вопрос решил:
sXTR := OpenDialog1.Filename;
sXML := ExtractFile(sXTR);
XML := TXMLDocument.Create(nil);
XML.LoadFromXML(sXML);
XML.Active := true;
XML.Encoding := 'ISO-8859-1'; //Здесь нужно было кодировку выставить
XML.SaveToFile('C:\_zx.xml');
Автор: victorman2010
Дата сообщения: 21.01.2010 12:48
Здравствуйте, подскажите как в FastReport 3 отсортировать данные в колонке? Не могу найти нигде, спасибо.

Добавлено:
В гриде так:
cxGrid2DBTableView1ddd.SortIndex := 0;
cxGrid2DBTableView1ddd.SortOrder:=soAscending;
Автор: greenpc
Дата сообщения: 21.01.2010 13:00
victorman2010

Цитата:
FastReport 3 отсортировать данные в колонке

может лучше в ClientDataSet
fn :='FieldName1';
ClientDataSet1.AddIndex(fn + 'Index', fn, [ixCaseInsensitive],'','',0);
ClientDataSet1.IndexName := fn + 'Index';
или из хелпа IndexFieldNames property (TCustomClientDataSet)
Автор: lingus
Дата сообщения: 21.01.2010 15:37
Приветствую.
Подскажите, куда рыть.
Есть приложение на JAVA в нем создаются текстовые ресурсы (файлы и данные в БД).
Данные эти UNICODE пишутся в виде escape-последовательностей вида \uXXXX, где XXXX UNICOD-ное значение символа.... ну это стандартно.
Delphi7
Нужно в программе как-то это дело преобразовать к ANSI виду обработать и записать....

уже все перепробовал
WideStringToUTF8
AnsiToUTF8
UTF8Encode
там все ясно, но нужны то escape-последовательности...
вот с ними как быть? распознать в потоке и записать их?
в JAVA там есть готовые инструменты как я понимаю, а на паскале что используется для этого?
Автор: zakov
Дата сообщения: 21.01.2010 22:50

Цитата:
в JAVA там есть готовые инструменты как я понимаю, а на паскале что используется для этого?


Если в JAVA есть готовые инструменты - так посмотрите их исходники и перепишите на Delphi...
Автор: VadimLou
Дата сообщения: 22.01.2010 04:36

Цитата:
в JAVA там есть готовые инструменты как я понимаю

сильно сомневаюсь ...
делов то - всего пару мелкий ф-ций накрапать
-EncodeStringToUXX
-DecodeUXXToString
Автор: lingus
Дата сообщения: 22.01.2010 08:14

Цитата:
сильно сомневаюсь ...
делов то - всего пару мелкий ф-ций накрапать
-EncodeStringToUXX
-DecodeUXXToString

Дык, что получается - это не общепризнанное кодирование????
и в википедии и на сайте unicode везде это обозначение? и что ни у кого нет инструментов? Каждый пишет для себя реализацию?
Это же не javaвское - это unicode-ная фишка?

может быть я не так ищу? Как вообще можно назвать этот процесс? кодирование и декодирование unicode в.... во что?
Автор: lingus
Дата сообщения: 22.01.2010 15:27
Может кому пригодится

Код: function UxxxxEncode(aStr:String):string;
var
L,i:integer;
ws:WideString;
begin
L:=length(aStr);
SetLength(ws,L+1);
StringToWideChar(aStr,pwidechar(ws),L+1);
result:='';
for i := 1 to L do
result:=result+'\u'+inttohex(integer(ws[i]),4);
end;

function UxxxxDecode(aStr:string):string;
var
CurPos:integer;
Lastpos:integer;
i:integer;
begin
Result:='';
LastPos:=1;
CurPos:=pos('\u',aStr);
while (CurPos<>0) do
begin
Result:=Result+Copy(aStr,LastPos,CurPos-LastPos);
if tryStrToInt('$'+copy(aStr,CurPos+2,4),i) then
begin
result:=result+wideChar(i);
LastPos:=CurPos+6;
end
else
begin
Result:=Result+'\u';
LastPos:=CurPos+2;
end;
CurPos:=PosEx('\u',aStr,LastPos);
end;
if Result='' then
Result:=aStr;
end;
Автор: VadimLou
Дата сообщения: 22.01.2010 16:27
lingus

Цитата:
это не общепризнанное кодирование????

Это общепринятое обозначение для книг (возможно хранения/передачи)
Автор: lingus
Дата сообщения: 22.01.2010 16:30
VadimLou

Цитата:
Это общепринятое обозначение для книг (возможно хранения/передачи)

значит "это" как-то должно называться?
Автор: data man
Дата сообщения: 22.01.2010 16:58
lingus

Цитата:
значит "это" как-то должно называться?

Так и называется "Unicode escape characters" или "Unicode character escape sequences"
http://www.codecodex.com/wiki/Escape_sequences_and_escape_characters#Unicode
Автор: victorman2010
Дата сообщения: 23.01.2010 08:30
Доброго времени суток.
По нету приходят файлы. Моя программа распаковывает в xml файл и открывает его (вывожу в cxGrid), редактирует и потом обратно записывает в xml и запаковывает. xmlMapper'om созданы два транспорт файла (.xtr). Использую компоненты: xmlTransform, xmlTransformProvider, ClientDataSet, DataSourse, cxGrid. Суть проблемы: На компах где стоит делфа нормально открывает файлы, где нету открывать не хочет. Подскажите пожалуйста как это можно исправить (может какие то dll'ки переписать нужно с моего компа)? Заранее благодарен.
Автор: ShIvADeSt
Дата сообщения: 23.01.2010 09:10
victorman2010

Цитата:
На компах где стоит делфа нормально открывает файлы, где нету открывать не хочет.

Сообщения об ошибках какие? Посмотри pas файлы соотв компонент и посмотри какие библиотеки они вызывают. Плюс попробуй помимо ехе еще и dpl (bpl) копировать.
Автор: victorman2010
Дата сообщения: 23.01.2010 09:12
Нашел: не хватало midas.dll (вроде как для clientdataseta нужна). Теперь на кодировку ругается в xml файле, хотя перед созданием его задаю кодировку:
XML.Encoding := 'ISO-8859-1';
XML.SaveToFile('C:\Windows\System32\zx.xml');

Добавлено:
Не удается сохранить знак в кодировке "ISO-8859-1"
Автор: pavlo1704
Дата сообщения: 23.01.2010 19:05
Ребята помогите, делаю ADO приложение в Delphi 7, осуществляю поиск в таблице:

If RadioButton1.Checked then
begin
DM.ADOTable_Podotchetnoye_lico.Locate('PLtabnum',Form3.Edit1.Text,[]);
If not DM.ADOTable_Podotchetnoye_lico.Locate('PLtabnum',Form3.Edit1.Text,[]) then Showmessage('нет такой');
end;
If RadioButton2.Checked then
begin
DM.ADOTable_Podotchetnoye_lico.Locate('PLFio',Form3.Edit1.Text,[]);
If not DM.ADOTable_Podotchetnoye_lico.Locate('PLFio',Form3.Edit1.Text,[]) then Showmessage('нет такой');
end;

Все работает. Дорабатываю приложение под MDI интерфейс -перестает работать
В чем причина, кто знает?

Выдает ошибку:
"Debugger Exception Notification"
Project db.exe raized exception class EAccessViolation with message 'Access violation at address 00568569 in module db.exe. Read address 00000310'
Автор: Frodo_Torbins
Дата сообщения: 23.01.2010 19:22
pavlo1704
А что за Form3 такая, и на кого она указывает?
Автор: pavlo1704
Дата сообщения: 23.01.2010 19:50
Frodo_Torbins
Form3 - дочерняя форма, на ней раполагается DBGrid, отражающая DM.ADOTable_Podotchetnoye_lico


procedure TForm3.BitBtn2Click(Sender: TObject);
begin

If RadioButton1.Checked then
begin
DM.ADOTable_Podotchetnoye_lico.Locate('PLtabnum',Form3.Edit1.Text,[]);
If not DM.ADOTable_Podotchetnoye_lico.Locate('PLtabnum',Form3.Edit1.Text,[]) then Showmessage('&#199;&#224;&#239;&#232;&#241;&#252; &#237;&#229; &#237;&#224;&#233;&#228;&#229;&#237;&#224;');
end;
If RadioButton2.Checked then
begin
DM.ADOTable_Podotchetnoye_lico.Locate('PLFio',Form3.Edit1.Text,[]);
If not DM.ADOTable_Podotchetnoye_lico.Locate('PLFio',Form3.Edit1.Text,[]) then Showmessage('&#199;&#224;&#239;&#232;&#241;&#252; &#237;&#229; &#237;&#224;&#233;&#228;&#229;&#237;&#224;');
end;
end;
Автор: lingus
Дата сообщения: 23.01.2010 20:27
data man

Цитата:

Так и называется "Unicode escape characters" или "Unicode character escape sequences"
http://www.codecodex.com/wiki/Escape_sequences_and_escape_characters#Unicode


очень то что нужно. спс.
но вот интересно: для backspace и для backslash один код... \u0008

Автор: Frodo_Torbins
Дата сообщения: 23.01.2010 20:58
pavlo1704
Ну и чему равна эта переменная в момент Access Violation?
Автор: pavlo1704
Дата сообщения: 23.01.2010 21:23
Frodo_Torbins

равна Nil

Добавлено:
Frodo_Torbins

Через DM.ADOTable_Podotchetnoye_lico.filter аналогично, не работает
Автор: Frodo_Torbins
Дата сообщения: 23.01.2010 21:32
pavlo1704

Цитата:
равна Nil

Ну вот и AV. Если еще чего не понятно, то вам сюда: http://gunsmoker.blogspot.com/2009/05/access-violation.html
Автор: pavlo1704
Дата сообщения: 23.01.2010 21:39
Frodo_Torbins
Спасибо большое ! Сейчас гляну туда

Добавлено:
Frodo_Torbins
Сделал!

var
Form1: TForm1;
var ChildForm3:TForm3; Глобально
Автор: ZBEP
Дата сообщения: 24.01.2010 14:21
Здравствуйте!
Есть программ она подключается к серверу с помощью idIRC, все нормально, все работает как надо и если с сервера кикнули, то заново переподключается и т.д.

Но при дисконнекте (физически вынуть кабиль например) прога выдает:


Цитата:
socket error 10054 connection reset by peer


И в дальнейшем вылетает каждый раз при попытке переподключения (вобше при любой попытки связаться с сервом - вылетает ошибка), спасает только перезапуск программы..
Как можно обойти эту ошибку?
П.с.
Слышал что это решается исключениями, примерно так:

Код: procedure TForm1.IdIRC1Disconnected(Sender: TObject);
begin
try
idIRC1.Disconnect;
except
end;
end;
Автор: VadimLou
Дата сообщения: 24.01.2010 20:22
Попробуй пересоздать класс/компонент idIRC1. Очень похоже на ошибку в Disconnect - не всё подчищает...

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Clipper 5


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.