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

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

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

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проблемка такая решил отобразить содержимое web страничьки в memo, а на страничьке оказались фреймы Как добраться до них через WebBrowser  не знаю пробую вот так:
 
 
Подробнее...
 
Страничька отображается в мемо, а фреймы внутри её нет подскажите как можно сделать чтобы отображались в мемо содержимое фреймов?!

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 19:06 30-06-2006
dyr farot

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не понял как те два кучка кода связанны, но в любом случае у главного документа (тот, что WB.Document) запроси frames; если коллекция не пустая -- пройдись по всем элементам (они тоже IHTMLDocument2)

Всего записей: 697 | Зарегистр. 03-08-2004 | Отправлено: 19:27 30-06-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите а можно ли из компонента TEdit Не и спользуя Memo перенести содержимое TEdit  в текстовый файл temp.txt в определенную часть этого файла т.е. в определенную строку, определенный столб?

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 19:42 30-06-2006 | Исправлено: OOD, 07:12 03-07-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
Данный пример показывает как определить в каких фреймах разрешена команда 'copy':  
Подробнее...
 

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 08:36 03-07-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
Да всё спасибо сделал
вот :
Подробнее...
 
Теперь проблема как сохранить содержимое из TEdit  в определенную часть текстового файла?! не использую мемо можно это сделать?

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 08:39 03-07-2006
RomanTim

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

Цитата:
как сохранить содержимое из TEdit  в определенную часть текстового файла?! не использую мемо можно это сделать?

Можно, используя TStringList - такой же наследник от TStrings, как и Lines в TMemo. Например так Подробнее...

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 09:42 03-07-2006 | Исправлено: RomanTim, 09:42 03-07-2006
SERGE_BLIZNUK

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

Цитата:
Теперь проблема как сохранить содержимое из TEdit  в определенную часть текстового файла

RomanTim тебе вполне рабочий вариант предложил... Если только ты номер строки, куда сохранять надо, знаешь... ещё можно работать через нетипизированныхй файл MyF : file; или file of char; file of byte;
ручками открывать, находить смещение, через ReadBuffer/WriteBuffer читать, писать..
А что вообще за бредовая задача - сохранять в определённую часть файла... Для чего это может понадобится?
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 10:25 03-07-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SERGE_BLIZNUKУгу понял Спасибо, а если нужно внести в 10 строку 10 ряд слово "xxx", то через TStringList тоже получиться сделать это?  
В мемо не хочеться это делать ну вообще никак

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 10:46 03-07-2006
greenpc

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

Цитата:
ещё можно работать через нетипизированныхй файл

в этой ситуации не удобно, тк прийдется обрабатывать каждый байт
информации
OOD
что подразумеваешь под словом "ряд" позиция? INSERT

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 10:54 03-07-2006 | Исправлено: greenpc, 10:56 03-07-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
ну да наверное я синтаксис мало знаю , но инсерт значит добавить, следовательно, если в текстовом файле будет какие-то символы они заменятся, после операции INSERT?
 
смысл такой есть файл test.txt В нем  
Подробнее...
 
можно ли заманить  
2 ряд 7 символ на |
 
Ну и естественно сохранить его туда же....
при этом если произвести операцию INSERT 7-й символ замениться на тот, который мы поставили ? или просто допишеться?

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 11:09 03-07-2006 | Исправлено: OOD, 11:26 03-07-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OOD
TStrings - это грубо говоря массив строк. Метод Insert вставляет в определенное место новую строку - число строк увеличивается на 1 (Add добавляет в конец). Доступ к i-й строке соответственно StringList[i]. Для твоего случая
Код:
cl.LoadFromFile('test.txt');
sl[1][7] := '|'; // элементы списков нумеруются с 0
sl.SaveToFile('test.txt');

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 11:43 03-07-2006
SERGE_BLIZNUK

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

Цитата:
cl.LoadFromFile('test.txt');  

Описка, наверное, sl.LoadFromFile('test.txt');  
 
 

Цитата:
sl[1][7] := '|'; // элементы списков нумеруются с 0  

так не покатит!
можно вот так:

Код:
 
var
  sl : TStringList;
  sTempStr : string;
begin
  try
    sl := TStringList.Create;
    sl.LoadFromFile('test.txt');
    sTempStr := sl.Strings[1];
    sTempStr[7] := '|';
    sl.Strings[1] :=  sTempStr; // элементы списков нумеруются с 0
    sl.SaveToFile('test.txt');
  finally
    sl.Free
  end;
end;
 

 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 13:30 03-07-2006 | Исправлено: SERGE_BLIZNUK, 13:35 03-07-2006
greenpc

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

Цитата:
sl := TStringList.Create
ставится перед try....
ну и немного корректние FreeAndNil(sl)

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 13:51 03-07-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SERGE_BLIZNUK
 
Да всё отлично вот:
 
Подробнее...
 
А как можно сделать чтобы данные s[7] := '|'; именно "|"  ,или любой другое брались из TEdit?

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 13:54 03-07-2006
vshersh



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

Цитата:
ну и немного корректние FreeAndNil(sl)

А в чем корректность то? Переменная то локальная...

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 13:54 03-07-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
help по F1 или _http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1186

Цитата:
 
Reader.Free;
После уничтожения объекта переменная Reader сохраняет свое значение, продолжая ссылаться на место в памяти, где объекта уже нет. Если эту переменную предполагается еще использовать, то желательно присвоить ей значение nil, чтобы программа могла проверить, существует объект или нет. Таким образом, наиболее правильная последовательность действий при уничтожении объекта должна быть следующая:
Reader.Free;
Reader := nil;
С помощью стандартной процедуры FreeAndNil это можно сделать проще и элегантнее:
FreeAndNil(Reader);
 

OOD
если символ один то s[7] := edt1.Text[1];
если несколько:  
delete(s,7,1);
insert(s,edt1.text,7);

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 14:04 03-07-2006 | Исправлено: greenpc, 14:10 03-07-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
Эт я знаю...
Но для локальных переменных это ничем не поможет... (по крайней мере для приведенного кода, когда после освобождения объекта мы выходим из области видимости процедуры)

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 14:07 03-07-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
для данного кода разницы нету
а если будет использоваться в цикле, то есть

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 14:15 03-07-2006
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
А зачем делать
Код:
delete(s,7,1);  

 
 
Сделал как вы сказали, но без delete.
Подробнее...
 
Работает , но только одна проблема, если нет cимвола,а мы пытаемся поставить указатель на то, место где символа нет, тогда не происходит добавление через edit1, в мемо проще можно сделать Line.add и добавить нужную линию в нужную строчку независимо есть ли в этой строчьке содержимое, или нет. Тут так нельзя сделать?
 

Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 14:59 03-07-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
s:=Copy(sl[0],1,6);
while Length(s)<6 do  s:=s+' ';
s:=s +edt1.Text;
if Length(sl[0])>s then s :=s+Copy(sl[0], Length(s)+1, Length(sl[0]));

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 15:12 03-07-2006
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru