Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];

Вниз

как перевести string в widestring?   Найти похожие ветки 

 
Locked   (2002-03-30 08:15) [0]

есть какая нить ф-я для этого?


 
Eug201   (2002-03-30 10:34) [1]

Ессно:

var
a:string;
b:widestring;

b:=a;

:)) Все необходимые преобразов. совершаются автоматически


 
Yaro   (2002-03-31 09:59) [2]

Если я не ошибаюсь, то WideString описан таким образом:

Type
WideString = String;

Поэтому даже переводить не надо... Это тот же стринг.


 
Tosov   (2002-03-31 10:07) [3]

StringToWideChar()

Eug201 & Yaro
Вы в этом точно уверены?


 
Yaro   (2002-03-31 10:59) [4]

Не знаю, но вот это точно должно сработать:


var US: String;
WS: WideString;

{...}

US := WideString(US);



 
dymka   (2002-03-31 11:05) [5]

WideString хранит строки в UniCode, в отличие от String...
Преобразование типов может осуществляться автоматически, так и явно...
2Yaro: такое можно сказать про ANSIString и то при включенной опции компилятора поддержки длинных строк...


 
Севостьянов Игорь   (2002-04-03 11:02) [6]

Согласен с предыдущим ответом...
А преобразовывать и не надо...
Даже Borland этим не страдает (смотри их Sources)
A string represents a sequence of characters. Object Pascal supports the following predefined string types.

Type Maximum length Memory required Used for
ShortString 255 characters 2 to 256 bytes backward compatibility
AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters
WideString ~2^30 characters 4 bytes to 2GB Unicode characters;
COM servers and interfaces


 
yaJohn   (2002-04-03 11:36) [7]

Если вас интересует кирилица под русской Win - все правильно. Присваивать можно и туда и обратно. А вот под не русской все будет очень-очень плохо. Или под русской, но на китайском. На то и unicode.
Что до subj - см. Project JEDI Code Library (JCL) JclUnicode.pas


 
yaJohn   (2002-04-03 13:28) [8]

Вот это работает для русского языка. Глюкает на буквe e: ( Потому я и набрать ее не могу :)))
function WideStr2Str(s: WideString): string;
type
TWideRec = record
case integer of
0: ( wch: WideChar);
1: ( ch: char;
code: byte;
);
end;
var ch: TWideRec;
a: array [0..1] of byte absolute ch;
i,x: integer;
begin
setlength(result,length(s));
for i:=1 to length(s) do
begin
ch.wch:=s[i];
if ch.code = 0
then result[i]:=ch.ch
else result[i]:=chr(ord(ch.ch)+176);
end;
end;

Реализация не идеальная, но идея ясна.


 
REA   (2002-04-03 15:23) [9]

Насчет широких строк - не дай кришна запихать русские буквы в Delphi 6 в variant. Он тогда их сохранить в ресурс может, а вот загрузить уже нет (не предусмотрена загрузка WideString как Variant). Комментарий борланда выглядит как "ну и фиг с ними".



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-46439
kull
2002-04-03 01:28
2002.04.15
Как добавить что-то в конец файла?


1-46359
rem_
2002-04-04 10:11
2002.04.15
dll в адресном пространстве Explorer а


7-46521
amamed_3071
2002-01-19 15:05
2002.04.15
как заставить чужой программы работат внутри своей формы)))


1-46406
UnDISCOvery
2002-04-01 15:44
2002.04.15
Из Дельфы - все ОК, а из Виндов - ошибка ! Из-за чего ???


1-46430
sany
2002-04-02 23:44
2002.04.15
Людииииии хелп!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский