|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
знак диаметра в Delphi
У меня вопрос как из проги на Delphi вывести в Excel знак диаметра(в базе он обозначен D=)
Код:
stroka:=FieldByName('NAZ_PRICE').AsString; while Pos('d=', stroka) > 0 do stroka[Pos('d=', stroka)]:=chr(216); // тут код диаметра Sheet.Cells[i,1].value:=stroka chr(216) выводит букву Ш в Excel помогите как ето обойти Последний раз редактировалось Admin, 07.02.2017 в 19:29. |
#2
|
|||
|
|||
Версии Delphi и Excel какие? И описание переменной stroka?
Тут, походу, где-то путается Ansi и Unicode строки. В Unicode код 216 (D8) действительно дает знак диаметра, а в Ansi - букву Ш (на "русском" шрифте). |
#3
|
|||
|
|||
Цитата:
версия Delphi 5 - на сколько я читал все Delphi до 2009 не поддерживают Unicode и только с 2009 начали поддерживать у меня проект большой и переходить нереально - что делать? |
#4
|
|||
|
|||
[/code]Админ: Пользуемся тегами при оформлении кода!
если можно поподробнее или хотя бы небольшой пример - плиз |
#5
|
||||
|
||||
Win10 x32, D7, Excel 2007
Код:
var ... s: WideString; i: Integer; begin ... s := Sheet.Cells[1, 1]; {значение в ячейке 'Внешний d=12, внутренний d=8'} i := Pos('d=', s); while i > 0 do begin s[i] := WideChar(216); i := Pos('d=', s); end; Sheet.Cells[1, 1] := s; {значение в ячейке стало 'Внешний Ø=12, внутренний Ø=8'} ... end; Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 13.02.2017 в 20:50. |
#6
|
||||
|
||||
Цитата:
http://www.delphisources.ru/pages/forum_rules.html |
#7
|
|||
|
|||
Цитата:
Спасибо за четкий пример в Delphi 6 работает только проект у меня во 2-ом а там нет WideString. WideChar есть а переменных WideString нет |
#8
|
||||
|
||||
Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#9
|
|||
|
|||
Цитата:
очень большой нереально (работает сеть магазинов на нем) вот решили сделать сайт-магазин и соотв экспорт данных из базы Последний раз редактировалось igr37, 14.02.2017 в 14:20. |
#10
|
||||
|
||||
Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#11
|
|||
|
|||
Цитата:
Уже лет 10 наша фирма работает в базе сделанной на Делфи 2 теперь решили еще заняться продажей в инете - на сайте, там и надо знак диаметра Насчет что мешает перейти на Д6 я уже некоторое время назад пробовал перекомпилировать но ето большой геморой - надо переделывать все печатные формы их много ибо автоматом не переводит на Д6 ибо там еще 1-я версия Quickrep а на Д6 уже 2-я(или 3-я не помню) и они не совместимы в переводе малой кровью. Ну и другие есть мелочи Последний раз редактировалось igr37, 14.02.2017 в 17:10. |
#12
|
|||
|
|||
Ну, можно поизвращаться для упрощения перехода.
Например, выкинуть все отчеты в отдельный проект и его собирать на D2, а саму программу - на D7 (кстати, не рекомендуется пользоваться D6, т.к. там достаточно много багов; D7 - это та же D6, но с пофикшенными багами). Кстати, и тут можно так же поступить - написать отдельную DLL на D6/D7 для экспорта и вызывать ее из основной программы. Это есть так критично сделать это минимальными усилиями. |
#13
|
|||
|
|||
Цитата:
Я так тоже подумал и попробовал сделать но возврат функции должен быть в WideString а его то как раз и нет в Д2 Последний раз редактировалось igr37, 15.02.2017 в 11:53. |
#14
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#15
|
|||
|
|||
Цитата:
записываю в клипборд из ячейки Excel потом вставляю в Excel куда надо а там О что-то я подозреваю что ето невыполнимая миссия |