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

Вниз

File Of PChar - глюк системы, компилятора или........?!   Найти похожие ветки 

 
tipman   (2003-06-29 20:36) [0]

Здрасте, мастера! Какая то фигня твориться! Пишу на двух разных компах две совешенно одинаковые проги, содержащие несколько строк. Проги пишут в файл элементарные "1234567890". Файлы имеют структуру File of PChar. Но на разных компах они получаются разные. Первый файл читается на первом компе (на котором впрочем и создаётся), а на втором выводит белеберду, а второй наоборот, читается на втором (и создаётся) а на первом белеберда.


 
Palladin   (2003-06-29 20:43) [1]

Это глюк лично твой, твоего понимания PChar и соотвесно твоего понимания File of PChar...

вот скажи мне что такое PChar?


 
Ihor Osov'yak   (2003-06-29 20:54) [2]

о Palladin © (29.06.03 20:43)

Несколько излишне эмоционально, но абсолютно верно по сути...

Только маленькое уточнение:

твоего понимания -> твоего непонимания

Рекомендации. На досуге почитать о типизированных файлах. Потом о PChar. И подумать, какое отношение имеет PChar к той строке, на которую он указыват

Пока это можно отложить в сторону и обратить внимание на текстовые файлы (text) и дивные процедуры ReadLn, WriteLn


Зы. Не исключено, что наблюдаем пагубное влияние си на неокрепшие юношиские мозги..



 
tipman   (2003-06-29 21:29) [3]

to Palladin © (29.06.03 20:43) - PChar (во всяком случае как я его себе представляю) является типом Pointer на строку Char, т.е. ссылка на строку с нулевым символом в конце.

to Ihor Osov"yak © (29.06.03 20:54) - на досуге читал правда давно, но ... есть масса преимуществ PChar по сравнению с TextFile:
1 - размер файла
2 - его читаемость, точнее нечитаемость
3 - строка размером в 4 Гб по моему это круто
... да и структуру файлов вышеуказанных типов если сравнивать, как небо и земля. И вообще какая разница какого типа у меня файл, если я пытаюсь создать два одинаковых файла но на разных системах, а они разные по содержанию получаются, хотя записываю туда одну и ту же инфу!
Всё таки глюк то где, до сих пор во мне?


 
Palladin   (2003-06-29 21:33) [4]

конечно, глюк в (не)понимании pchar отпадает, глюк в (не)понимании file of pchar остался...

если подумать, получается file of pchar что на самом деле? правильно, файл указателей... правда смешно? или нет...


 
Palladin   (2003-06-29 21:36) [5]

Ну а твой ответ Игорю - бесподобен, вот до чего (не)понимание File of PChar доводит.


 
Всеволод Соловьёв   (2003-06-29 21:43) [6]

pchar^ может ему так дать?


 
Palladin   (2003-06-29 21:50) [7]


> Всеволод Соловьёв © (29.06.03 21:43)

PChar это сompiler magic и PChar^ не позволено...


 
Всеволод Соловьёв   (2003-06-29 21:56) [8]

compiler magic это плохо :) я этого не люблю :(
ЗЫ Палладин, а что тебя еще мастером не сделали???


 
DrPass   (2003-06-29 22:00) [9]

>tipman
Конечно, ситуация довольно красивая.
Попробуем несколько наводящих вопросов:
1. Если ты пишешь в файл строку "0123456789", то, открывая файл в Блокноте, ты должен ее там увидеть. Что ты видишь на самом деле?
2. PChar - это не строковый тип. Это указатель, целое число, хранящее адрес в памяти. Должны ли сохраняться строки в File of Pchar?
3. Если ты сохранишь адрес в файл на одном компьютере, и откроешь его там же, он будет указывать на ту же ячейку данных?
4. А если ты его откроешь на другом?
А ход мыслей у тебя оригинальный, ничего не скажешь... :)


 
Ihor Osov'yak   (2003-06-29 22:09) [10]

позволю себе маленькое дополнение к DrPass © (29.06.03 22:00)
> 3. Если ты сохранишь адрес в файл на одном компьютере, и откроешь его там же, он будет указывать на ту же ячейку данных?

и откроешь его там же -> и прочитаешь этот адрес в том же процессе

+
И будет ли в этой ячейке памяти строка на тот момент времени?

А что будет, если этот адресс прочитать в другом процессе?

2 tipman © (29.06.03 21:29)
> Всё таки глюк то где, до сих пор во мне?

Угу, до сих пор..

Зы. Маленьякая подсказка. Запиши один pchar в файл, причем pchar смотрящий на большущую строку, длииииииинннннннннннннууууууууууууууююююююю такую..
Закрой файл. А потом посмотри на размер файла. Никаких асоциаций не возникло?







 
Palladin   (2003-06-29 22:23) [11]


> Запиши один pchar в файл, причем pchar смотрящий на большущую
> строку, длииииииинннннннннннннууууууууууууууююююююю такую..

зато меньше и непонять ничего :)))


> Всеволод Соловьёв © (29.06.03 21:56)

А кто может дать определение "Мастер Делфи"?


 
DrPass   (2003-06-29 22:32) [12]

В оффтопик

> А кто может дать определение "Мастер Делфи"?

Наведи мышкой на (с) около имени - и станешь "Мастером", пока курсор не уберешь :)


 
Palladin   (2003-06-29 22:37) [13]


> DrPass © (29.06.03 22:32)

Вам бы все шутки шутить :)
Я не спрашиваю кто заначек даст :), я спрашиываю кто попадает в категорию Мастера? По каким качествам можно человека назвать Мастером Делфи, именно Делфи, а не Мастером Визуал Бэйсика


 
Всеволод Соловьёв   (2003-06-29 23:10) [14]

А кто может дать определение "Мастер Делфи"?
Я! :)) тут чел какой-то говорил - надо кинуть в "потрепаться". вот и кинь - "Мастер я или нет?" мнение других мастеров не учитывать :)


 
DrPass   (2003-06-29 23:11) [15]

Да просто на этой теме столько было копий сломано, и флейма раздуто, что никто уже серьезно не интересуется, разве что новички. Присвоение значка "Мастер Delphi" - стохастический процесс. Хотя есть предположение, если в течении долгого времени присутствовать на форуме и все время давать толковые советы, значок может появиться.
В первую очередь Мастер должен иметь железную психику - серьезно воспринимать 80% вопросов этого форума просто нельзя :)
Скажем, я посещаю его, когда противно писать программы. "Потрепаться" - лучшее средство от "противно"

P.S. Модератору - сорри за еще один злостный оффтоп


 
Всеволод Соловьёв   (2003-06-29 23:19) [16]

Хотя есть предположение, если в течении долгого времени присутствовать на форуме и все время давать толковые советы
я же и говорю, что мастера еще не присвоили??? по анкете 2001 еще появился (или изменил анкету) советы толковые дает, мне помогали :)


 
Ihor Osov'yak   (2003-06-29 23:25) [17]

2 DrPass © (29.06.03 23:11)

> Скажем, я посещаю его,

Вот вот.. Аналогичная ситуация.. Сегодня какому-то школьнику задачи по физике решал.. Но чтобы не получить лейбл злостного трепщика, иногда еще по другим разделам бегаю... Иногда пытаюсь ответить на вопрос..

Хотя справедливости ради, иногда можно встретить интересные вещи.. Что и радует..


 
DrPass   (2003-06-29 23:30) [18]

Если честно (накатаю телегу на Palladin"a :-) ) он лишь недавно стал активным участником. Скажем, год или два назад я даже и не знал о нем. Так что все звания еще впереди ;)


 
Palladin   (2003-06-29 23:37) [19]


> DrPass © (29.06.03 23:30)

хочешь приколотся? :)
введи в строке поиска сайта Palladin :)
и узнаешь на каком уровне Мастера Делфи, я был два года (или три) назад.


 
DrPass   (2003-06-29 23:50) [20]

Ну так все через это прошли. Или как

> tipman © (29.06.03 20:36)

проходят сейчас. Когда в 1995 году я после Спектрума оказался перед Norton Commander"ом, я был в легком шоке от обилия непонятных и немеренно сложных функций. Или как выглядела первая попытка закрыть окно с помощью мыши?


 
Palladin   (2003-06-29 23:57) [21]

Это точно.
Но все таки парень оригинал. :)
Такое мышление говорит просто о том что слишком высоко взял в начале. Как бы потом не того...


 
Dimaxx   (2003-06-30 00:29) [22]

Сам лично писал так:

var f: file of byte;
P: PChar;
...
P:="abcd"; // или что-то в этом роде
blockwrite(f,P^,Length(P));
...

и все потом читалось в Блокноте...


 
DrPass   (2003-06-30 00:48) [23]

>Dimaxx
Разницу улавливаешь?
var f: file of pchar;
P: PChar;
...
P:="abcd";
write(f,P);

А что у тебя все читается, так я всегда в тебя верил :)


 
Dimaxx   (2003-06-30 00:56) [24]

2 DrPass:

Спасибо!

file of pchar - это не совсем правильно. Аналогичная запись будет иметь вид file of pointer. А вообще приведи кусок текста, а мы всей толпой помозгуем. Авось найдется правильное решение.


 
tipman   (2003-06-30 11:13) [25]

Спасибо за разбор меня и моего вопроса, вообще в мозгу зашевелилось ещё счера, когда я отвечал
Palladin © (29.06.03 23:57)
Действительно глюк мой, признаю. В бошку почему-то забилось. Но вот какой интересный факт: PChar это ссылка на область памяти содержащей строку, т.е. при перезагрузке, когда память естественно очищается, все данные пропадают. Так вот, беру эти затрёпанные "1234567890" и пишу их в File of PChar. Перезагружаю комп - данные пропадают. Запускаю другую прогу - которая читает, и ведь сволоч-то и читает правильно, и ошибок никаких! Как тогда это объяснить? (Это и свело меня с понталыка кстати)


 
Palladin   (2003-06-30 11:16) [26]


> Запускаю другую прогу - которая читает, и ведь сволоч-то
> и читает правильно, и ошибок никаких! Как тогда это объяснить?

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


 
Anatoly Podgoretsky   (2003-06-30 11:25) [27]

tipman © (30.06.03 11:13)
Это все равно у тебя глюк. Почему бы ей не делать вид, что читает, речь то об текстовой константе, а она у тебя в коде. Точно сказать нельзя, твоего кода нет, но у других это так.


 
k-man   (2003-06-30 12:54) [28]

Долго смеялся над найденной ссылкой по запросу Palladin.
Я не верю, не мог он такого спросить, это был кто-то под его ником...


 
Palladin   (2003-06-30 13:00) [29]

а зря, я тогда начал серьезно переходить на Delphi3...



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

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

Наверх





Память: 0.51 MB
Время: 0.009 c
14-55820
MBo
2003-07-01 08:09
2003.07.17
Delphi5 vs Builder6


3-55474
MCFire
2003-06-25 16:24
2003.07.17
Как использовать StatusBar во время SQL запроса?


3-55462
softmaster
2003-06-22 19:46
2003.07.17
помощь в создании запроса


6-55692
exo
2003-05-13 13:37
2003.07.17
как отключить юзера,подключившегося к моему компу?


4-55911
Петр
2003-04-23 13:40
2003.07.17
Application.MessageBox





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