Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы Вопросы по Delphi (до версии 2009) - часть 5

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


 
Правила топика:
    Прежде чем спрашивать:
  1. Желательно изучить вопрос, попытаться найти ответ в прилагаемых мануалах, хелпах и анализируя исходники.
  2. Выполнить поиск по топику (открыть "Версия для печати" и поискать ответ там).
  3. Применить фильтр по разделу "Прикладное программирование". Ответы на многие старые вопросы могли быть даны в отдельных темах.
  4. Продумайте вопрос. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите.
  5. Желательно указывать версии используемого компилятора и операционной системы.
    Прежде чем отвечать:
  1. Если не можете помочь, не мешайте.
  2. Если уж вы отвечаете на вопрос, давайте ответ по сути.
  3. Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа.
  4. Задавайте дополнительные вопросы, чтобы получить больше информации.
  • Отсутствие ответа не равносильно игнорированию - иногда участники форума просто не знают ответ. Повторная посылка вопроса не приветствуется. Посты типа "неужели никто не знает ответа..." или "может мне все-таки кто-нибудь ответит" недопустимы.  
  • Все большие куски кода (более 5 строк) оформляем в тег [morе] дабы уменьшить размер поста. FAQ по тегу [morе].


    Некоторые "родственные" топики:
     
  • Вопросы по Delphi (версии 2009-2010 Weaver)
  • Вопросы по компонентам для Delphi, C++ Builder
  • Использование DevExpress
  • Вопросы по Ehlib
  • Компоненты и утилиты для Delphi/BCB/FreePascal/Lazarus - только Open Source
  • Коммерческие компоненты и утилиты для Delphi/BCB
  • кабак программистов :)
     
    См. также: Некоторые полезные ресурсы о Delphi
     
    И старайтесь, чтобы ваш код не попал сюда :)

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 05:13 19-05-2010 | Исправлено: akaGM, 02:33 15-07-2020
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    svs123456789
    Был помнится такой компилятор, который паскаль-код в С++ перегонял, а потом с помощью GCC его компилял. Но вообще код на делфи это ведь не только сплошные конструкции языка, это еще и обращения к RTL и VCL. Их ни в шарпе ни в джаве нету.
    Кстати для точконэта есть Delphi Prism, а для джавы та же контора готовит нечто под названием Cooper.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:35 22-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    как вырвать оттуда этот массив байт?Мне он нужен в чистом виде то есть 1 0 1 0 1 0 0 0.как?
     

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 10:48 23-02-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    Вы в курсе как в делфи читать файлы с диска? Вот любым из этих способов и воспользуйтесь.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 11:05 23-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    В курсе. Мне нужно чтобы я получил чистый массив байт!!!Помогите дайте код,я просто сам не знаю как написать!

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 08:48 24-02-2011
    ShIvADeSt



    Moderator
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k

    Цитата:
    В курсе. Мне нужно чтобы я получил чистый массив байт!!!Помогите дайте код,я просто сам не знаю как написать!

    Ну раз в курсе, то и считывайте побайтно и будет счастье. В чем именно проблема? Либо давайте код, в котором УЖЕ организовано чтение, и спрашивайте конкретно, что именно не получается.

    Цитата:
    Мне он нужен в чистом виде то есть 1 0 1 0 1 0 0 0

    ОМГ, это биты. Прочитайте хотя бы начало информатики, чтобы людей не путать. Если Вам нужно байты перевести в биты, то берите и посимвольно переводите - напишите функцию или стандартную возьмите для перевода десятичной системы в двоичную, в итоге у вас и будет массив БИТОВ.


    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 10:15 24-02-2011
    svs123456789

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    StrToFloat(edit.Text) если строка пустая , то функция ,генерируют исключение .
     
    как правильнее поступить? применить StrToIntDef ?
     
    или
      if (edit.Text= '') then  var := 0  else var :=   StrToFloat(edit.Text);
     

    Всего записей: 2932 | Зарегистр. 10-04-2003 | Отправлено: 18:50 24-02-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    svs123456789
    Еще вариант - посмотреть как сделана StrToIntDef и сделать так же.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:35 24-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Прошу вас напишите мне код,буду благодарен! я не имел опыта работы с файлами!
    кроме как с текстовыми!

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 21:58 24-02-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    Пожалуйста: "var MyFile: file of byte;". Остальная часть кода тут: http://delphikingdom.com/asp/viewitem.asp?catalogid=843

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:16 24-02-2011 | Исправлено: Frodo_Torbins, 22:20 24-02-2011
    psa1974



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    svs123456789
    andrey777k
    Ребята, ну вы совесть то имейте - эти ваши вопросы - из разряда  "1-й класс, вторая четверь". Во что превратится топик, если каждый начнет задавать чайниковские вопросы, ответ на который есть в любом учебнике по Дельфи для начинающих и в исходниках самой Дельфи???  Берем книги, изучаем основы языка, и набираемся опыта у корифеев, изучая исходники Дельфи. А так же читаем материалы, приведенные в шапке по ссылке "Некоторые полезные ресурсы о Delphi" . Все вопросы типа что будет, если выполнить 2+2, отпадут сами собой.
     
    Пардон за оффтоп, но я терпел, терпел, и не выдержал... Полторы страницы обсуждать прописные истины...

    ----------
    У программёра есть два состояния: "Втупляю" и "Попёрло"...

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 03:32 25-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    var
      Form1: TForm1;
      myfail:file of byte;
      a:array of byte;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    assign(myfail,'1.wav');
    reset(myfile);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    for i:=1 to 100 do
    a[i]:=read(data);
    end;
     
    end.
    где ощибка?
    ругается на assign(myfail,'1.wav');

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 09:03 25-02-2011
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    а почему assign? Нужно ведь AssignFile ))))))

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 09:24 25-02-2011
    psa1974



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    Во-первых, если бы ты внимательно читал статью, рекомендуемую Frodo_Torbins у тебя бы этой ошибки не было. Во-вторых, F1 тебе в помощь. (Скажу по секрету, что F1 вызывает мощную встроенную справочную подсистему. И например, позволяет почитать подраздел "file management routines". Только никому не говори, ага. А то все ломанутся ее вызывать и что мы тут тогда делать будем...)

    ----------
    У программёра есть два состояния: "Втупляю" и "Попёрло"...

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 09:31 25-02-2011
    ShIvADeSt



    Moderator
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    Надо использовать AssignFile, далее я бы не рисковал с такими путями к файлу.
     
    Добавлено:

    Цитата:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    for i:=1 to 100 do
    a[i]:=read(data);
    end;  

     
    Что есть data? не нашел такой переменной. У меня есть подозрение, что человек хочет работать с файлами не выучив азов. Использование динамических массив без установления длинны тоже подтверждает догадку.
    andrey777k
    Начните лучше с азов, чтобы не превращать тему в перепечатывание хелпа
     
     
    Добавлено:

    Цитата:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    assign(myfail,'1.wav');
    reset(myfile);
    end;  

     
    удачненькое имя переменной myfail - отражает главную проблему

    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 09:32 25-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://audiocoding.ru/article_wav_header.html
    Вот что такое дата, так как в типизированном файле есть определенная колонка с нужными  мне данными.
    (а что надо было переменную назвать Hello World?=))
     
    Добавлено:
    var
      Form1: TForm1;
      t:file of byte;
      a:array of byte;
      i:integer;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    assignfile(t,'1.wav');
    reset(t);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    for i:=1 to 100 do
    a[i]:=read(t,data);
    end;
     
    end.
    Ругается на data помогите,,я уже неделю мучаюсь,сначала спросил мне дали ссылку на статью где только глаза ломать(тем более я ее сам нашел раньше),...,..,...!
     

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 10:00 25-02-2011
    Cryogen2003



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    andrey777k
    data - это по идее должна быть переменная, куда ты будешь читать из файла. В твоем случае data - это переменная с типом byte.
     
    А так, правда, пошел бы почитал специальные сайты с обучением. А так азы паскаля обсуждать - смешно честно говоря

    ----------
    Холодильники мы

    Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 10:20 25-02-2011
    andrey777k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
     a:array[1..100] of byte;

     

    Всего записей: 27 | Зарегистр. 19-02-2011 | Отправлено: 10:21 25-02-2011
    ShIvADeSt



    Moderator
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    Вы поймите - у вас ошибка на ошибке

    Цитата:
    a[i]:=read(t,data);

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


    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 11:02 25-02-2011
    psa1974



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k

    Цитата:
    сначала спросил мне дали ссылку на статью где только глаза ломать

    Если читать статьи по программированию равносильно ломанию глаз, если нет желания разбираться в сути вопроса, докапываться самостоятельно до истины,  то мне кажется, что ты занялся не своим делом, программирование - не твой удел. Программирование - это большой труд, это куча потраченного времени и масса информации, с которой надо разбиратся, нахрапом это дело не возьмешь. Это только в сказке программирование можно выучить за 21 день. Думаю, тебе стоит подумать о других направлениях самореализации. Это просто совет.

    ----------
    У программёра есть два состояния: "Втупляю" и "Попёрло"...

    Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 11:51 25-02-2011 | Исправлено: psa1974, 11:53 25-02-2011
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andrey777k
    На всякий случай еще раз приведу ссылочку: http://delphikingdom.com/lyceum/seminar.asp?id=2 Рекомендую не возвращаться в этот топик, пока не прочтете первые пять статей от туда. Если во время чтения возникнут вопросы, то ответы на них можно поискать тут: http://delphikingdom.com/lyceum/seminar.asp?ID=6
    Все то же самое обычно можно найти в книжках по программированию на языке делфи. Если у вас есть какая-нибудь скажем по делфи 7, то обязательно прочтите ее.
    Без этих элементарных знаний вы дальше не продвинетесь.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:29 25-02-2011 | Исправлено: Frodo_Torbins, 12:31 25-02-2011
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 6


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru