Вверх ↑
Этот топик читают: Гость
Ответов: 26
Рейтинг: 3
#1: 2010-04-07 18:28:33 ЛС | профиль | цитата
Объясните чайнику почему в файл записывается не 2 или 4 байта а 3?
добавлено: Правда только после 2ого запуска в первый запуск записывается 2 байта...
code_17730.txt
карма: 1

0
файлы: 1code_17730.txt [1.2KB] [119]
Ответов: 3851
Рейтинг: 159
#2: 2010-04-07 18:59:15 ЛС | профиль | цитата

в файл записывается 2 байта (у меня). зачем ты делаешь get совершенно непонятно, ведь при каждой операции (get или put) сдвигается указатель, поэтому у тебя байты пишутся через один. или так задумано?
карма: 0
начавший
0
Ответов: 26
Рейтинг: 3
#3: 2010-04-07 19:14:37 ЛС | профиль | цитата
Нет не задумано. Видимо в этом трабла. ^o^
Я просто 4ый день мучаю хайасм, и меня пока некоторые вещи смущают, как например то, что у компонента DataToFile нет выхода события OnPut.
------------ Дoбавленo в 19.14:
кстати можно какнить удалить лишние байты из уже существующего файла? Или только копировать нужную часть, сносить файл, и потом пересоздавать заново? Я не программист, так что сори за глупые вопросы?
карма: 1

0
Ответов: 3851
Рейтинг: 159
#4: 2010-04-07 19:42:12 ЛС | профиль | цитата

Demnus писал(а):
у компонента DataToFile нет выхода события OnPut
используй хаб - следующее событие начнётся только после того, как закончится текущее.

Demnus писал(а):
Или только копировать нужную часть, ...
можно и так
карма: 0
начавший
1
Голосовали:Demnus
Ответов: 26
Рейтинг: 3
#5: 2010-04-07 20:41:03 ЛС | профиль | цитата
можно и так

А как еще? ^^

Еще вопросик возник: почему после добавления в файл ANSIString данных вставляется нулевой байт?

карма: 1

0
Ответов: 5446
Рейтинг: 323
#6: 2010-04-07 20:49:05 ЛС | профиль | цитата
А потому, что ANSIString - это последовательност байт, оканчивающаяся нулевым байтом.
карма: 1

1
Голосовали:Demnus
Ответов: 26
Рейтинг: 3
#7: 2010-04-08 03:20:00 ЛС | профиль | цитата
Всем спасибо, вроде в остальном пока разобрался. И временно вопросов не имею ^^
------------ Дoбавленo в 03.20:
Возник еще вопрос
В примере ниже в конце текста при сохранении в файл вставляется почему-то лишняя пара символов 10 13
подскажите пожалуйста как этого избежать?
Add(Button,3063129,163,140)
{
Left=185
Top=9
Width=20
Caption="..."
link(onClick,6051365:doExecute,[])
}
Add(Edit,12969144,268,140)
{
Left=15
Top=10
Width=170
link(onChange,810193:doOpen,[])
}
Add(SDialog,6051365,217,140)
{
link(onExecute,12969144:doText,[])
}
Add(FileStream,810193,329,140)
{
Mode=2
link(onLoad,13921278:doEvent1,[])
}
Add(DataToFile,14046480,524,168)
{
Type=7
link(Stream,810193:Stream,[(530,83)(368,83)(368,182)(335,182)])
}
Add(StrList,2477596,454,105)
{
Strings=#5:[Def]|12:Size = 15,27|14:Spacing = 18,0|12:Colors = 255|12:Offset = 0,0|15:Type = Variable|0:|5:[Map]|6:A 0 13|7:B 16 14|7:C 33 14|7:D 50 14|7:E 69 13|7:F 86 13|8:G 101 14|8:H 118 15|7:I 138 8|8:J 153 14|8:K 169 14|8:L 189 10|8:M 202 17|8:N 220 15|8:O 237 15|8:P 254 14|8:Q 271 15|8:R 288 14|8:S 305 14|8:T 324 11|8:U 339 15|8:V 358 12|8:W 372 17|8:X 390 15|8:Y 407 13|8:Z 425 14|8:a 443 11|8:b 460 11|8:c 477 11|8:d 493 12|8:e 511 11|7:f 530 9|8:g 545 11|8:h 562 11|7:i 581 7|7:j 597 9|8:k 613 10|7:l 632 7|8:m 644 16|8:n 664 11|8:o 681 11|8:p 697 12|8:q 714 11|8:r 732 10|8:s 749 10|7:t 768 8|8:u 782 11|8:v 800 10|8:w 816 13|8:x 834 11|8:y 852 10|8:z 868 10|7:1 886 8|8:2 901 12|8:3 918 13|8:4 935 11|8:5 951 13|8:6 969 13|8:7 987 11|9:8 1003 13|9:9 1020 13|9:0 1037 13|8:! 1056 8|9:? 1072 10|8:" 1091 9|9:# 1103 15|9:$ 1122 13|9:% 1137 17|9:& 1155 13|8:' 1177 5|9:{ 1190 11|9:} 1208 11|9:+ 1225 11|8:- 1243 7|8:: 1261 6|9:/ 1273 15|9:= 1292 11|9:[ 1309 10|9:] 1326 11|9:~ 1344 11|8:, 1381 5|8:. 1398 4|8:* 1413 9|9:@ 1427 16|
}
Add(DoData,2197009,454,168)
{
link(onEventData,14046480:doPut,[])
link(Data,2477596:Text,[])
}
Add(Hub,13921278,378,140)
{
link(onEvent1,2197009:doData,[(407,146)(407,174)])
link(onEvent2,810193:doClose,[(399,153)(399,190)(317,190)(317,153)])
}
Add(MainForm,2224029,77,91)
{
Width=352
Height=111
Caption="wryte 2 bytes"
Position=1
}
карма: 1

0
Ответов: 3851
Рейтинг: 159
#8: 2010-04-08 23:45:46 ЛС | профиль | цитата

время позднее - мог накосячить code_17742.txt - проверь..
карма: 0
начавший
0
файлы: 1code_17742.txt [2.4KB] [148]
Ответов: 4641
Рейтинг: 334
#9: 2010-04-08 23:59:31 ЛС | профиль | цитата
Andrey писал(а):
мог накосячить

Andrey, а для удаления последних 2-х символов нельзя просто так?

Add(DoData,16198086,98,133)
{
link(onEventData,15389518:doDelete,[])
}
Add(Delete,15389518,147,133)
{
Count=2
Direction=1
}


------------ Дoбавленo в 23.59:
ведь они всегда в конце и их точно два "штук"
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 26
Рейтинг: 3
#10: 2010-04-09 02:32:47 ЛС | профиль | цитата
Забавно.
Если из компонента списка строк брать в цикле построчно через массив, лишних символов нет.
А если просто брать данные с выхода Text компонента "Список строк", то в конце всегда есть пустая строка. Причем глюк относится только к списку строк, а компонент редактор текста Memo лишних строк не добавляет.

список строк.
code_17743.txt

редактор Memo
code_17744.txt
------------ Дoбавленo в 02.32:
Если это на что-то влияет, я пользую делфевый компилятор, так как прога которую строю картинками мутит, а FPC обругал с ног до головы на предмет отсутствующих Dllей.
карма: 1

0
файлы: 2code_17743.txt [2KB] [116], code_17744.txt [2.1KB] [113]
Ответов: 3851
Рейтинг: 159
#11: 2010-04-09 17:17:06 ЛС | профиль | цитата

Ravilr писал(а):
Andrey, а для удаления последних 2-х символов нельзя просто так?
ведь они всегда в конце и их точно два "штук"

ну я так и сделал вначале, потом что-то мне не понравилось - не помню что (давно это было)..

Demnus, уже обсуждалось, не помню чем кончилось (давно это было)..
карма: 0
начавший
0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)