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

Вниз

Считывать построчно тхт   Найти похожие ветки 

 
alexdn ©   (2011-07-21 03:50) [0]

Вот примерно
f:textfile;
AssignFile(F,FNameM);
reset(F);
seek(f,1);
readln(f);
form2.hP1:=StringToColor(f);

ошибка на seek, но я вообще не помню можно ли так считывать построчно..


 
brother ©   (2011-07-21 05:51) [1]

f:textfile;
...
AssignFile(F,FNameM);
reset(F);
while f not eof do
begin
 readln(f);
 form2.hP1:=StringToColor(f);
end;

оно? в справке по textfile есть готовый код ;)


 
brother ©   (2011-07-21 06:06) [2]

> но я вообще не помню можно ли так считывать построчно..

нет


 
SQLEXPRESS   (2011-07-21 09:54) [3]

TFileSream..

но в Вашем случае проще наверное будет

 s: TStringList;
 i: Integer;
begin
 s := TStringList.Create;
 s.LoadFromFile("");
 for i := 0 to s.Count - 1 do
  form2.hP1:=StringToColor( s.Strings[i] );


 
alexdn ©   (2011-07-21 10:09) [4]

> brother ©   (21.07.11 05:51) [1]
да, так и сделал. только как-то так и не понял как строки нумеровать.. тупо поставил свой счётчик в while f not eof do, что-то вроде x:=x+1;


 
Dennis I. Komarov ©   (2011-07-21 10:29) [5]


>  readln(f);
>  form2.hP1:=StringToColor(f);
>

Это специально или ?


 
alexdn ©   (2011-07-21 10:41) [6]

> Dennis I. Komarov ©   (21.07.11 10:29) [5]
>
> >  readln(f);
> >  form2.hP1:=StringToColor(f);
> >
>
> Это специально или ?
заратустра вроде ж не запрещает..


 
Dennis I. Komarov ©   (2011-07-21 10:50) [7]

Он пяткой в нос запрещает, а вот как прокомментировать то, что тут написано?


 
alexdn ©   (2011-07-23 00:00) [8]

> Dennis I. Komarov ©   (21.07.11 10:50) [7]
> Он пяткой в нос запрещает, а вот как прокомментировать то,
>  что тут написано?
просто переменная с формы 2, из  public..


 
Германн ©   (2011-07-23 00:37) [9]

Seek для текстовых файлов не работает в принципе.


 
Германн ©   (2011-07-23 00:43) [10]


> readln(f);
> form2.hP1:=StringToColor(f);
>

А это просто бред.
Тут просто "перемотали строку", а потом решили преобразовать файловую переменную "влендишным" способом сначала неявно в строку, затем явно в переменную TColor.


 
alexdn ©   (2011-07-23 10:57) [11]

> Германн ©   (23.07.11 00:43) [10]
что то не понял. просто считывается строка из файла и преобразуется в цвет.
и почему сначала неявно в строку?


 
Германн ©   (2011-07-23 13:18) [12]


> что то не понял. просто считывается строка из файла


> readln(f);

И куда тут считывается строка? В какую переменную?


 
Anatoly Podgoretsky ©   (2011-07-23 13:31) [13]

> Германн  (23.07.2011 13:18:12)  [12]

В данном случае в анонимную.


 
alexdn ©   (2011-07-23 14:23) [14]

> Германн ©   (23.07.11 13:18) [12]
вообщем я сделал там так, простенько
    FNameM:="info.txt";
    AssignFile(F,FNameM);
    reset(F); x:=0;
 While not eof(f) do //задаем цикл до конца файла
   begin
     readln(f, str); //читаем строку из файла в переменную str
  if x=0 then hP11:=StringToColor(str);
  if x=1 then p.X:=StrToInt(str);
  if x=2 then p.Y:=StrToInt(str);
  if x=3 then edit1.text:=str;

  x:=x+1;
   end;

где   p: TPoint; координаты пикселя


 
alexdn ©   (2011-07-23 14:26) [15]

f:textfile;


 
alexdn ©   (2011-07-23 15:10) [16]

Удалено модератором
Примечание: Правила читаем


 
alexdn ©   (2011-07-23 15:16) [17]

Удалено модератором


 
alexdn ©   (2011-07-23 15:17) [18]

можно было сразу отслеживать изменение системного реестра но мне хотелось с пикселями повозиться..


 
Германн ©   (2011-07-24 01:14) [19]


>  alexdn ©   (23.07.11 14:23) [14]
>
> > Германн ©   (23.07.11 13:18) [12]
> вообщем я сделал там так, простенько

Главное, что на этот раз ты использовал процедуру Readln "правильно"! А дальше - это уже твои заботы.


 
alexdn ©   (2011-07-24 09:34) [20]

> Германн ©   (24.07.11 01:14) [19]
тогда тоже было правильно, просто я искал аналог seek, который работает только для записей, но увы не для тхт.


 
mike   (2011-07-24 10:26) [21]


> тогда тоже было правильно

Особенно

> StringToColor(f);

:)


 
alexdn ©   (2011-07-24 11:22) [22]

> mike   (24.07.11 10:26) [21]
> Особенно
> > StringToColor(f);
а что не так..?


 
mike   (2011-07-24 11:34) [23]


> а что не так..?

А что такое f?


 
alexdn ©   (2011-07-24 11:50) [24]

> mike   (24.07.11 11:34) [23]
AssignFile(F,FNameM); всё там норм


 
Anatoly Podgoretsky ©   (2011-07-24 12:39) [25]


> mike   (24.07.11 11:34) [23]

У тебя может получиться только хряк


 
Германн ©   (2011-07-25 00:53) [26]


> У тебя может получиться только хряк

Не понял!
При чём тут "самец свиньи"?
:)

> alexdn ©   (24.07.11 11:22) [22]
>
> > mike   (24.07.11 10:26) [21]
> > Особенно
> > > StringToColor(f);
> а что не так..?
>

А то, что в качестве параметра для функции StringToColor используется файловая переменная, которую в Паскале вообще практически запрещено использовать не по назначению!


 
alexdn ©   (2011-07-25 10:09) [27]

> Германн ©   (25.07.11 00:53) [26]
> А то, что в качестве параметра для функции StringToColor
> используется файловая переменная, которую в Паскале вообще
> практически запрещено использовать не по назначению!
интересненько, и какие катастрофы предвидятся?..


 
Dennis I. Komarov ©   (2011-07-25 10:15) [28]

До чего смешные крякеры пошли...


 
alexdn ©   (2011-07-25 10:26) [29]

> Dennis I. Komarov ©   (25.07.11 10:15) [28]
Это просто утилитка.. к тому же сырая...


 
Anatoly Podgoretsky ©   (2011-07-25 11:45) [30]

> alexdn  (25.07.2011 10:09:27)  [27]

А как ты представляешь получение цвета в строковом виде из файловой
переменной?


 
MsGuns ©   (2011-07-25 11:50) [31]

Это будет файлуоловый цвет :)


 
Dennis I. Komarov ©   (2011-07-25 11:51) [32]


> А как ты представляешь получение цвета в строковом виде
> из файловой переменной?

Последняя версия дельфи такое поддерживает. Автоматически смотрит какого цвета файл через файловую переменную. Если f описать как textfile, то автоматически возвращает строку :)


 
Anatoly Podgoretsky ©   (2011-07-25 11:51) [33]


> При чём тут "самец свиньи"?

А то что с его знаниями может получиться только Винни Пух


 
alexdn ©   (2011-07-25 12:23) [34]

> Anatoly Podgoretsky ©   (25.07.11 11:45) [30]
> А как ты представляешь получение цвета в строковом виде
> из файловой
> переменной?
но ведь работает же.. например первая строчка в текстовом $00C46103
hP11:=StringToColor(str);
записывалась она - writeln(F,ColorToString(form2.hP1));
т.е. и считывается тоже вполне норм..


 
alexdn ©   (2011-07-25 13:04) [35]

и потом сравнивается с hP1i:=GetPixel(GetDC(0),p.X,p.Y); так что всё там правильно.


 
Юрий Зотов ©   (2011-07-25 16:53) [36]


> и потом сравнивается с hP1i:=GetPixel(GetDC(0),p.X,p.Y);

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

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


 
alexdn ©   (2011-07-25 17:25) [37]

> Юрий Зотов ©   (25.07.11 16:53) [36]
> Если не хотите учиться, то зачем задаете вопросы?
чтобы учиться).. я люблю учиться на практике.


 
alexdn ©   (2011-07-25 22:09) [38]

> Юрий Зотов ©   (25.07.11 16:53) [36]
а почему там так погано с памятью у GetDC..? и вообще утечки чем чреваты, точнее насколько они масштабны?..


 
Игорь Шевченко ©   (2011-07-25 22:28) [39]

справку читай, пакостник


 
Германн ©   (2011-07-26 00:27) [40]


> а почему там так погано с памятью у GetDC..? и вообще утечки
> чем чреваты, точнее насколько они масштабны?..
>

Все или почти все (точно скажут мастера) функции работающие с DC заставляют ОС выделять память под этот самый Display/Device Context. А кто эту память освобождать будет? Пушкин? Сами эти функции такого не могут. Они же не знают, когда этот контекст уже не нужен.
Чем чреваты утечки? Тем что если программа много раз запросит ОС выделить память и ни разу не освободит её, то памяти надолго не хватит, даже с учётом того, что память "виртуальная".



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

Форум: "Начинающим";
Текущий архив: 2011.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.005 c
15-1310416194
Юрий
2011-07-12 00:29
2011.11.13
С днем рождения ! 12 июля 2011 вторник


2-1311459358
Aleks1995
2011-07-24 02:15
2011.11.13
Отправка почты в Дельфи


15-1310728734
Медвежонок Пятачок
2011-07-15 15:18
2011.11.13
winmobile netcf3.5 интернет с "толкача"


2-1311177238
alexdn
2011-07-20 19:53
2011.11.13
Функция определения цвета пикселя


15-1311020990
Юрий
2011-07-19 00:29
2011.11.13
С днем рождения ! 19 июля 2011 вторник





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