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

Вниз

Люди, помогите, какой-то бред со СТРОКАМИ!!!   Найти похожие ветки 

 
jen   (2004-02-11 16:26) [0]

Господа, я не понемаю что я натвоил, но у меня выходит следующее:

Ниже приведено действие на нажатие Button2,
должно было записаться в файл примерно следующее:
testtest1test2
а в реальности запись выглядит так:
testђtZ мч zµвw]ђђttest1 ђtZ ]ђ B u t t o n 2test2 юЬC ц ЭC јх 5 ХТ

Причем откуда берется запись B u t t o n 2, впрочем как и всё остальное...

Текст программы:
**********************************
procedure TForm1.Button2Click(Sender: TObject);

type
rec=record
ups:string[30];
ups1:string[30];
ups2:string[30];
end;

var
fname:string;
rece:rec;
Frece: file of rec;

begin
fname:="rt.txt";
rece.ups:=EmptyStr;
rece.ups:="test";
rece.ups1:="test1";
rece.ups2:="test2";

assignfile(frece,fname);
if fileexists(fname) then
reset(frece) else rewrite(frece);
seek(fRece,filesize(fRece));
write(frece,rece);
closefile(frece);

end;
**********************************

Подскажите в чем собака порылась!!!! Спасибо!!!


 
snake1977   (2004-02-11 16:30) [1]

Длина отведенного масива под строку 30 символов, вот он тебе и пишет test а дальше заполняет 26 символов мусора который был в памяти.
ты уж определись использовать TextFile или File of Rec
тут понимаешли либо двоичный файл либо текстовый


 
MBo   (2004-02-11 16:32) [2]

строки длиной 30, значит, и в файл будет писаться по 31 байту на строку. А мусор - это то, что в этом куске памяти валялось, ты же его не очищал.


 
Семен Сорокин   (2004-02-11 16:32) [3]

причина вот в этом:
rec=record
ups:string [30];
ups1:string [30];
ups2:string [30];
end;
надо очистить от старого мусора перед занесением.


 
Oyster   (2004-02-11 16:33) [4]

Добрый мальчик - вначале открывает файл для чтения, а потом записывает. Здесь, кстати, есть такая картинка - ошибка записи при чтении. Попробуй удалить на фиг
if fileexists(fname) then
reset(frece) else
и
seek(fRece,filesize(fRece));


 
Плохиш   (2004-02-11 16:35) [5]

>Oyster © (11.02.04 16:33) [4]

Идём читать про типизированные файлы file + F1


 
Digitman   (2004-02-11 16:37) [6]

+ еще и не упакованная запись

rec= packed record
ups:string[30];
ups1:string[30];
ups2:string[30];
end;

FillChar(rece, sizeof(rece), Ord(" "));
rece.ups:=EmptyStr;
rece.ups:="test";
rece.ups1:="test1";
rece.ups2:="test2";
.. и т.д.


 
jen   (2004-02-11 16:52) [7]

Да, но я делал так и в других случаях, все работало.
А в варианте когда надо еще дописать что-то типа integer, как быть???


 
VLAD-MAL   (2004-02-11 16:54) [8]

rec=packed record
ups:string[30];
ups1:string[30];
ups2:string[30];
ups3:integer;
end;

...

rece.ups3:=333;
...


 
jen   (2004-02-11 16:59) [9]

Огромное спасибо всем, получилось!!!
УРА!!!
rec=packed record
ups:string[30];
ups1:string[30];
ups2:string[30];
end;

FillChar(rece, sizeof(rece), Ord(" "));
rece.ups:=EmptyStr;
rece.ups:="test";
rece.ups1:="test1";
rece.ups2:="test2";
.. и т.д.


 
VLAD-MAL   (2004-02-11 17:00) [10]

Прям слезы на глазах наворачиваются...


 
jen   (2004-02-11 17:09) [11]

)))
VLAD, ты то в этом сечешь, а мне - чайнику и это радость


 
VLAD-MAL   (2004-02-11 17:11) [12]

Купи книжку. Даже если у тебя уже одна есть.


 
Palladin   (2004-02-11 17:12) [13]


> VLAD-MAL (11.02.04 17:00) [10]

:))))))


 
jen   (2004-02-11 17:21) [14]

у меня их много, а толку...
у меня на примерах лучше получается учиться


 
Palladin   (2004-02-11 17:24) [15]

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


 
VLAD-MAL   (2004-02-11 17:24) [16]

Купи книжку. Даже если у тебя уже одна есть.

Ну да, фигню сморозил, согласен. Общевоинские Уставы и Наставления по стрелковому делу покупать надо. Тоже читать не обязательно.


 
jen   (2004-02-11 17:41) [17]

ну, коли взялись за мое обучения, дак подскажите, какой учебник взять???


 
VLAD-MAL   (2004-02-11 17:45) [18]

Купи любой из импортных, какой-нить для Delphi4-5 (дешевле в 2-3 раза, а язык тот же).


 
TUser   (2004-02-11 17:49) [19]

Щас в меня камни полетят - скачай архангельского. Потом ТексейруПачеко. + прочитай про работу с файлами лекции А.Подгорецкого на Королевстве delphi.


 
jen   (2004-02-11 17:49) [20]

Что значит из импортных, если авторов,то есть,
общие понятия они мне дали, но глубже не получается...
а Palladin советовал взять Pascal, стоит его брать???


 
VLAD-MAL   (2004-02-11 17:52) [21]

Что, про записи неужели не читал?


 
jen   (2004-02-11 17:53) [22]

Не много, если б не читал, то и того б не написал)))


 
Amoeba   (2004-02-11 17:56) [23]

Электронную версию книги Тексейры и Пачеко можно скачать на сайте Анатолия Подгорецкого


 
Palladin   (2004-02-11 17:57) [24]


> jen © (11.02.04 17:49) [20]

А смог бы ты решить квадратное уравнение понятия не имея об основных математических операциях?

В книгах о Делфи описывается в основном среда разработки и VCL. Программированию они не учат и основ в ней тоже раз два и обчелся. После прочтения вопросы останутся: как записать массив... или как получить букву в строке по номеру 7... как разбить "мама,папа" на "мама" и "папа"...


 
Palladin   (2004-02-11 17:58) [25]

как, блин, степень посчитать....


 
TUser   (2004-02-11 18:04) [26]

Все это в книгах по Delphi есть. Я так думаю. Хотя сам я этих книжек не писал.


 
jen   (2004-02-11 18:05) [27]

Palladin, понял я понял, дак что прочесть-то???
То что Amoeba советует стоит???


 
Тимохов   (2004-02-11 18:05) [28]

jen © (11.02.04 17:53) [22]

Если есть базовые понятия о программировании, то чти штатных хелп, раздел

Object pascal reference - лучше хрен, что найдешь, там все есть.


 
jen   (2004-02-11 18:09) [29]

понял, что все методы хороши, абы научиться...)))


 
Palladin   (2004-02-11 18:10) [30]


> jen © (11.02.04 18:05) [27]

повторюсь, любой учебник паскаля с задачами, ну что бы был толще чем три журнала хотябы...
то что Amoeba посоветовал, это тоже очень хорошо, но только после учебника...
прорешай все задачи... пусть и подсматривая в ответ, но у тебя основы появятся, и для понимания что же происходит и для алгоритмизации...

А если конечно тебе нужен уровень "мышечного прогера", можешь хоть сейчас достать любую "Делфи за 5 минут2...


 
Тимохов   (2004-02-11 18:12) [31]

Была такая золотая книга "Паскать в картинках". Я ее в свое время всю прочел. Недавно даже от туда метод обратной польской нотации взял :)))))

Полностью согласен с Palladin - начните с книги по основам языка с задачками.


 
Manulo   (2004-02-11 18:25) [32]

Я паскаль учил по книжке не то Любимова, не то Поцелуева "Розробка алгоритмів та програмування мовою Turbo Pascal 6". Правда на украинском, но описано простым языком, без зауми, множество примеров, толще журнала примерно раз в семь :) но формал с листок А5. Правда без картинок :)


 
nexxiss   (2004-02-12 01:47) [33]

>jen © понял я понял, дак что прочесть-то???

Н.Вирт - "Алгоритмы и структуры данных". На мой взгляд эту книгу должен прочесть каждый, тогда и куча вопросов исчезнет.



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

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

Наверх





Память: 0.51 MB
Время: 0.019 c
9-5935
Flyer
2003-08-18 13:58
2004.03.03
Проверка звука


11-6003
EAccessViolation
2003-05-22 09:36
2004.03.03
КАК НАПИСАТЬ MDI Application & KOL?


1-6041
Miwa
2004-02-19 01:48
2004.03.03
Лог: как оптимально считать запись, состоящую из 2 строк...


1-6018
fROT
2004-02-19 12:07
2004.03.03
ivalid class typecast


3-5965
Zilog
2004-02-05 16:23
2004.03.03
Ф1 грит, что TGridDrawState живет в модуле Classes.





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