Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

FileStream   Найти похожие ветки 

 
ZV ©   (2006-05-31 21:27) [0]

Помогите. Сохранение параметров. Я записываю файл  например logo.dat

 f:=TFileStream.Create(‘c:\Logo.dat’,fmCreate);//создаю файл logo.dat

f.Write(lg, sizeof(lg));записываю структуру

f.free;
end;
Как сделать так чтобы при следующем сохранении структуры уже был создан файл c:\Logo1.dat  и так далее (Logo2.dat,Logo3.dat,Logo…dat)  короче мне нужно в создание файла внести переменную  примерно так c:\logo(переменная).dat
Так же мне нужно поступить и загрузкой,  загрузить c:\logo(переменная).dat


 
Desdechado ©   (2006-05-31 21:30) [1]

i := 1;
cFile := "logo" + i +".dat";
while( not FileExists( cFile ) ) do Inc(i);

дальше по тексту


 
ZV ©   (2006-05-31 22:58) [2]

Спасибо. У меня вопрос

cFile :=
что это тоже переменная ? где мне её прописать или что мне ей присвоить
если я вставлю это в свою прогу то наверно будет ошибка. Объясни пожалуйста а то я в этом пока не силен. С остальным всё понятно и доступно.


 
Loginov Dmitry ©   (2006-05-31 23:02) [3]

var
 cFile: String;


 
ZV ©   (2006-05-31 23:09) [4]

Понял спасибо  ,надеюсь поможет ,сейчас начну внедрять


 
Loginov Dmitry ©   (2006-05-31 23:14) [5]

ZV ©   (31.05.06 23:09) [4]
сейчас начну внедрять


Мощно звучит :)


 
ZV ©   (2006-05-31 23:42) [6]

А то . Прога управляет станком с ЧПУ (30000$). Не кисло. Кстати может кто поможет мне со звуком. Нужно чтобы комп постоянно на звуковой канал выводил звук типа Beep а я мог из программы менять громкость (при изменении громкости на аудио канале меняется напряжение а напряжение через схему управляет скоростью двигателя чем громче тем быстрее и наоборот) пока это единственный способ плавной регулировки без импульсов. Беда в том что со звуком в программировании не всё так просто и одной командой типа Windows.Beep  тут не обойдешься (громкость не регулируется и звук выводится не на аудио канал ) вот если бы такую команду да на аудио канал и громкость регулировалась, было бы здорово. Может кто что посоветует буду благодарен  а то у меня уже голова болит придумывать.


 
ZV ©   (2006-05-31 23:56) [7]

cFile := "c:\logo" + i + ".dat";    показует ошибку после i+   В чём проблема?
cFile присвоил string
i присвоил integer
Что делать?


 
Джо ©   (2006-06-01 00:10) [8]

> [7] ZV ©   (31.05.06 23:56)
> cFile := "c:\logo" + i + ".dat";    показует ошибку после
> i+   В чём проблема?

Что есть i?


 
ZV ©   (2006-06-01 00:21) [9]

i я присваиваю номер сохраняемого файла  например i=5(целые числа). Должно получится  c:\logo5.dat    
но пока не получается


 
Джо ©   (2006-06-01 00:33) [10]

> [9] ZV ©   (01.06.06 00:21)
> i я присваиваю номер сохраняемого файла  например i=5(целые
> числа). Должно получится  c:\logo5.dat    
> но пока не получается

IntToStr(I)


 
ZV ©   (2006-06-01 00:39) [11]

А куда это лепить.Глянь на код [1]


 
Джо ©   (2006-06-01 00:42) [12]

> [11] ZV ©   (01.06.06 00:39)
> А куда это лепить.

cFile := "c:\logo" + IntToStr(i) + ".dat";  

Вам нужно срочно заняться изучением основ языка, не примите за невежливость.


 
ZV ©   (2006-06-01 00:47) [13]

procedure TForm1.Button1Click(Sender: TObject);
var
se:SpiEdi;
f:TFileStream;
i:integer
cFile:string
begin
i := 1;
cFile := "logo" + i +".dat"; // проблема здесь после i+

se.Spi1:=SpinEdit1.Value;
se.Spi2:=SpinEdit2.Value;
f:=TFileStream.Create(cFile,fmCreate);
f.Write(se, sizeof(se));
f.Free;
end;


 
Джо ©   (2006-06-01 00:59) [14]

> [13] ZV ©   (01.06.06 00:47)

Вы идзеваетесь?


 
ZV ©   (2006-06-01 01:05) [15]

джо это мне Desdechado[1] совет дал ,я  и делать начал так.Проверил,вроде все нормально.Спасибо за помощь


 
ZV ©   (2006-06-01 01:08) [16]

Я не издеваюсь. А что не так?Мне уже страшно


 
ZV ©   (2006-06-01 01:16) [17]

Всё проверил работает.Сохраняю файл с нужным мне именем.Не пойму в чём издевательство


 
Asail   (2006-06-01 01:31) [18]

А издевательство вот в чем:
cFile := "logo" + i +".dat"; // проблема здесь после i+

P.s. Видимо, не тот код выложил... Этот, при всем уважении, работать не может при (i : Integer)...


 
Джо ©   (2006-06-01 01:38) [19]

> [16] ZV ©   (01.06.06 01:08)
> Я не издеваюсь. А что не так?

Я просто возьму и скопирую свой пост [12], а вы попробуете его прочитать, ОК?

cFile := "c:\logo" + IntToStr(i) + ".dat";


 
antonn ©   (2006-06-01 08:17) [20]

ZV ©   (31.05.06 23:42) [6]
Нужно чтобы комп постоянно на звуковой канал выводил звук типа Beep а я мог из программы менять громкость (при изменении громкости на аудио канале меняется напряжение а напряжение через схему управляет скоростью двигателя чем громче тем быстрее и наоборот) пока это единственный способ плавной регулировки без импульсов.

ипа-а-а-ать... меня за это бы уже казнили, оживили, и еще раз казнили:) абсолютно никакой точности (даже если там и привод, а не просто двигатель). Хотя если это какой нибудь протяжной станок...

может стоит цивильно, через ЦАПы делать? собрать платку, работающую с COM-портом, на ней и замострячить...

по сабжу:
F:= TFileStream.Create("",fmOpenReadWrite);
F:= TFileStream.Create("",fmOpenRead);

пойдет?


 
ZV ©   (2006-06-01 09:24) [21]


> Asail   (01.06.06 01:31) [18]

i : integer  и все работает нормально
Только одна проблемка, при загрузке файла через раз загружается SpinEdit2
Нужно повторно жать  -загрузить- тогда грузятся все SpinEdit  
Подскажите что тут изменить чтобы код был написан по всем правилам программирования. и работало все четко

procedure TForm1.Button1Click(Sender: TObject);
var
se:SpiEdi;
f:TFileStream;
cFile:String;
i:integer;
begin
i:=2;
cFile:= "c:\size" + IntToStr(i) + ".dat";

se.Spi1:=SpinEdit1.Value;
se.Spi2:=SpinEdit2.Value;
f:=TFileStream.Create(cFile,fmCreate);
f.Write(se, sizeof(se));
f.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
   var
se:SpiEdi;
fs:TFileStream;
cFile:string;
 i:integer;
begin
i:=2;
cFile:= "c:\size" + IntToStr(i) + ".dat";

if FileExists(cFile )then
begin
 fs:=TFileStream.Create(cFile, fmOpenRead);
 fs.Read(se, sizeof(se));
 fs.Free;
 SpinEdit1.Value:=se.Spi1;
 SpinEdit2.Value:=se.Spi2;

end;


 
ZV ©   (2006-06-01 09:35) [22]


> antonn ©   (01.06.06 08:17) [20]


> может стоит цивильно, через ЦАПы делать? собрать платку,
>  работающую с COM-портом, на ней и замострячить...


А можешь поподробней уж очень интересно на эту тему  как то мало желающих пообщаться. Мысль хорошая давай её развивать . Но я только с LPT могу а с COM не работал(нужен драйвер у меня XP)  и насчет ЦАП я слабоват. Если не проблема проконсультируй . Раскрой тему подробней а то  очень нужна.


 
ZV ©   (2006-06-01 10:09) [23]


> antonn ©   (01.06.06 08:17) [20]


> ипа-а-а-ать... меня за это бы уже казнили, оживили, и еще
> раз казнили:) абсолютно никакой точности (даже если там
> и привод, а не просто двигатель). Хотя если это какой нибудь
> протяжной станок...

Эта тема не к ЧПУ у меня там шаговики стоят и драйвер  работает с LPT портом, всё на ШВП точность 0,01 (Фрезерно гравировальный)  Регулировка через аудио канал мне нужна для  двигателя конвейера подачи материала, там этой точности вполне хватает. Хотя если у тебя есть мысли на  эту тему толкай я подумаю


 
antonn ©   (2006-06-01 12:15) [24]

ZV ©   (01.06.06 9:35) [22]
помогут тут: http://electronix.ru/
у меня, к сожалению, времени нет совсем - диплом делаю:)


 
tesseract ©   (2006-06-01 12:27) [25]


>  а с COM не работал(нужен драйвер у меня XP)

Альтернативный драйвер для XP  тута
http://oktais.com/soft/soft_drivers.html

хотя вроде и стандартный ничего.



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

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.104 c
15-1148465605
Игорь Шевченко
2006-05-24 14:13
2006.06.18
Любителям изящной словесности


2-1149165412
newbie2
2006-06-01 16:36
2006.06.18
Почему не вызывается destructor?


9-1131442382
Med
2005-11-08 12:33
2006.06.18
форматы 3d моделей для GLScene


2-1149101351
MAXHo
2006-05-31 22:49
2006.06.18
Как сделать такую панельку на форме?


4-1142928962
Макс (гость)
2006-03-21 11:16
2006.06.18
Как определить handle trey я, а там pop up меню значка