Главная страница
    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.004 c
1-46297
Сержик
2002-04-01 13:30
2002.04.15
Как вызвать диалог выбора папки?


1-46301
AvcRUSSIAN
2002-04-03 14:57
2002.04.15
ScrollBARs для TTreeView


3-46232
Cyber
2002-03-22 23:35
2002.04.15
Blob-поле


1-46300
Martyn
2002-04-02 11:27
2002.04.15
Вопрос по печати Bitmap в Delphi


1-46306
ДП
2002-04-03 11:03
2002.04.15
Проблема при запуске Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский