powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
15 сообщений из 15, страница 1 из 1
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846594
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi XE10
делаю точку восстановления Windows, пишу Discription
для этого беру тип JwaWindows.RESTOREPOINTINFO

Код: pascal
1.
2.
3.
4.
5.
6.
typedef struct _RESTOREPTINFO {
  DWORD dwEventType;
  DWORD dwRestorePtType;
  INT64 llSequenceNumber;
  TCHAR szDescription[MAX_DESC];
} RESTOREPOINTINFO, *PRESTOREPOINTINFO;



у него два предложенных варианта кодовых страниц, которых я знаю
RESTOREPOINTINFOW (Unicode) and RESTOREPOINTINFOA (ANSI)

как правильно в Delphi записать Description , чтобы он правильно отображался в Windows

я делаю вот так

Код: pascal
1.
2.
3.
4.
5.
6.
7.
var
  restorePoint: JwaWindows.RESTOREPOINTINFO;
...
begin
...
   move(mDescr, restorePoint.szDescription, length(mDescr) * 2);
...



на вхоже mDescr как русские так и латиница, на выходе szDescription непонятно из какой кодовой стрницы

надо писать конвертатор или что то попробовать можно, я перепробовал ряд стандартных функций из инета, результат положительный не получил.

кто что скажет? в JwaWindows. UTF8 - не нашел_ да его в Windows и не запишешь.
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846605
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
  restorePoint: JwaWindows.RESTOREPOINTINFO;
  LDesc: string;
...
begin
...
   move(LDesc[1], restorePoint.szDescription, (length(mDescr) + 1) * SizeOf(LDesc[1]));
...


Или
Код: pascal
1.
StrPCopy(restorePoint.szDescription, LDesc)
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846610
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Код: pascal
1.
   move(LDesc[1], restorePoint.szDescription, (length(mDescr) + 1) * SizeOf(LDesc[1]));


А если вдруг mDescr = '' ?..
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846613
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpА если вдруг mDescr = '' ?..Да
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846619
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpА если вдруг mDescr = '' ?..А еще оно может быть больше MAX_DESC
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846620
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63,

Код: pascal
1.
  move(LDesc^, @restorePoint.szDescription[0], (length(mDescr) + 1) * SizeOf(LDesc[1]));


?
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846643
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, утром проверю, много часов работал, глаза не видят, голова не понимает. спать спать спать.
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846644
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если LDesc это string, то надо так
Код: pascal
1.
Move(PChar(LDesc)^,.....)



и не SizeOf(LDesc[1]) а лучше StringElementSize(LDesc)
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39846793
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

СПАСИБО.

для меня лучшее решение,

Код: pascal
1.
StrPCopy(restorePoint.szDescription, LDesc)



проверил много раз, работает, разные тексты, и даже русский
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847034
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63для меня лучшее решение,Только смотри, чтобы длина строки не вылезла за MAX_DESC
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847035
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Citeи не SizeOf(LDesc[1]) а лучше StringElementSize(LDesc)Чем лучше?
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847094
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_X-Citeи не SizeOf(LDesc[1]) а лучше StringElementSize(LDesc)Чем лучше?
кроссплатформенно
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847104
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteкроссплатформенноА чем SizeOf() не кроссплатформенно?
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847106
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LDesc[1] - нет)
...
Рейтинг: 0 / 0
JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
    #39847156
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteLDesc[1] - нет)Можно даже писать SizeOf(LDesc[999999])
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / JwaWindows.RESTOREPOINTINFO как правильно получить текст и записать в Windows
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]