powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразовать null-terminated строку в обычную
18 сообщений из 18, страница 1 из 1
Преобразовать null-terminated строку в обычную
    #33184523
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чтении из ини-файла строка получается ...+CHR(0)
Есть ли функция, чтоб получить из нее обычную?
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184528
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CHRTRAN()
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184544
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kris_При чтении из ини-файла строка получается ...+CHR(0)
Есть ли функция, чтоб получить из нее обычную?
Чего-то не понял....
Кто читает?
Где ини-файл?
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184621
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedCHRTRAN()
CHRTRAN(p_name, CHR(0),' ')
не меняет, пытаюсь сделать, например,
allt(p_name)+'\'
Выдает все равно
"с: <куча пробелов> \"

Конечно можно извратиться их отсечь, но думала может есть все-таки нормальная функция
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184657
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
w3d Kris_При чтении из ини-файла строка получается ...+CHR(0)
Есть ли функция, чтоб получить из нее обычную?
Чего-то не понял....
Кто читает?
Где ини-файл?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
lcBuffer = SPACE( 100 ) + CHR( 0 )
lcOldError = ON('ERROR')
llError = .F.
IF GetPrivStr("settings", 'lastname', "", @lcBuffer, LEN(lcBuffer), PathToMain + INIFILE) >  0 
	ON ERROR llError = .T.
	thisform.p_lastname=PathToMain+'results.txt'
	ON ERROR &lcOldError
	IF !llError
		thisform.p_lastname=lcBuffer
&&ВОТ ТУТ НАДО ПОЛУЧИТЬ ИМЯ БЕЗ ПРОБЕЛОВ В КОНЦЕ СТРОКИ
		CHRTRAN(thisform.p_lastname, CHR( 0 ),' ')
		thisform.p_lastname=ALLTRIM(thisform.p_lastname) 
	ENDIF
ENDIF
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184677
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто тебе сказал, что CHR(0) это пробел?
CHRTRAN(<String>," ","") или уж CHRTRAN(<String>,CHR(32),"")
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184680
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedА кто тебе сказал, что CHR(0) это пробел?
CHRTRAN(<String>," ","") или уж CHRTRAN(<String>,CHR(32),"")
очень смешно.
я не пробелы думала менять, а последний символ
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184689
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более что сделала и так, а толку нету все равно
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184735
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thisform.p_lastname=left(lcBuffer,len(lcBuffer)-1)
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184763
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedthisform.p_lastname=left(lcBuffer,len(lcBuffer)-1)

не получается, уже и так и численно задавала, по -разному пробовала. ПОчемуто остается один символ справа, и все тут!
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184789
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kris_ AleksMedthisform.p_lastname=left(lcBuffer,len(lcBuffer)-1)

не получается, уже и так и численно задавала, по -разному пробовала. ПОчемуто остается один символ справа, и все тут!

То, что я тебе написал отсекет CHR(0). Остается что? Пробел? Ну так ALLTRIM() на него натрави.
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184878
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMed Kris_ AleksMedthisform.p_lastname=left(lcBuffer,len(lcBuffer)-1)

не получается, уже и так и численно задавала, по -разному пробовала. ПОчемуто остается один символ справа, и все тут!

То, что я тебе написал отсекет CHR(0). Остается что? Пробел? Ну так ALLTRIM() на него натрави.
Не получается, я уже так тоже пробовала. все пробелы удаляются, а в конце все равно есть символ. да вы сами попробуйте
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184922
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо этого lcBuffer = SPACE(100) + CHR(0), просто lcBuffer = SPACE(100)
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33184964
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33185045
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Как работать с ini-файлами

Получилось с помощью этого
Код: plaintext
?LEFT(m.lcBuffer,m.lnBuffer) 

вы не объясните, что это за хитрый ход такой?
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33185114
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь в статье написано.

Логика примерно такая:

Я посылаю в функцию символьную строку (lcBuffer) в которую должно быть записано значение искомого ключа. Причем эта символьная строка должна быть заведомо больше, чем возможное значение.


Функуция GetPrivStr() записывает в первые символы полученной строки нужное значение и сообщает мне сколько символов было изменено (lnBuffer).


Выделяю из переданной в функцию строки только измененные символы (LEFT(...)).
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33185224
Фотография Kris_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМТак ведь в статье написано.

Логика примерно такая:

Я посылаю в функцию символьную строку (lcBuffer) в которую должно быть записано значение искомого ключа. Причем эта символьная строка должна быть заведомо больше, чем возможное значение.


Функуция GetPrivStr() записывает в первые символы полученной строки нужное значение и сообщает мне сколько символов было изменено (lnBuffer).


Выделяю из переданной в функцию строки только измененные символы (LEFT(...)).

хм.. по вашей ссылке этого не написано..
но теперь все совершенно ясно! Спасибо большое!
...
Рейтинг: 0 / 0
Преобразовать null-terminated строку в обычную
    #33671988
gimp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kris_ AleksMedCHRTRAN()
CHRTRAN(p_name, CHR(0),' ')
не меняет, пытаюсь сделать, например,
allt(p_name)+'\'
Выдает все равно
"с: <куча пробелов> \"

Конечно можно извратиться их отсечь, но думала может есть все-таки нормальная функция
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразовать null-terminated строку в обычную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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