Вопрос № 31694: Мой первый вопрос № 31656
Немогли бы вы подсказать как грамотно создать связь баз данных один-ко-многим. Либо если есть возможность дайте ссылку на данный материал в интернете.
Заранее благодарю.
Я сделал две таблицы Paradox,первая T...Вопрос № 31697: Как в консольном приложении использовать NMSMTP и NMPOP3?...Вопрос № 31701: Здравствуйте, уважаемые эксперты!
Вопрос такой: как можно установить шрифт по нажатию на Button?
Я знаю как это сделать в операционной системе Windows 9x, но в XP я не смог найти в реестре ветвь, по которой регистрируются шрифты ('SoftwareMi...Вопрос № 31709: Здраствуйте уважаемые эксперты.
и снова мне нужна ваша помощ
мне нужно чтобы если в листбоксе есть 2 одинаковые записи то програма удалила бы одну из них, я пробовал реализовать это как написано в приложении но ничего невышло :(...Вопрос № 31727: Здравствуйте! Подскажите, пожалуйста, как решить проблему: есть текстовый файл и Memo. Как в Memo из этого файла загрузить строки, но не все (LoadFromFile не подходит, т.к. тогда слишком много файлов - это вообще-то должны загружаться описания для кн...Вопрос
№ 31738: Как прописать условие для проверки есть ли буфере, что нибудь.
Maikl-1982@narod.ru...Вопрос № 31763: Подскажите как производить чтение из файла пословно.
Допустим есть файл (текстовый) и из него надо выделять слова:
Например:
Заголовок
Таблица
итог.
f: TextFile;
Begin
AssignFile(f, nm);
- а что дальше п...
Вопрос № 31.694
Мой первый вопрос № 31656
Немогли бы вы подсказать как грамотно создать связь баз данных один-ко-многим. Либо если есть возможность дайте ссылку на данный материал в интернете.
Заранее благодарю.
Я сделал две таблицы Paradox,первая Tovar (поля: Nomer(тип Autoincreament), Tovar(тип Alpha)),на поле Nomer поставил Required Field, и создал по нему индекс;
вторая таблица Prod (поля:NomerTov (тип Autoincreament), Kol( тип Long Integer), на поле NomerTov поставил Required Field, и создал по нему индекс;
далее выложил на форму DBGrid1(для таблицы Tovar ), DBGrid2 (для таблицы Prod); DataSource1,DataSource2; Table1,Table2 провел настройки их.
Стал заполнять MasterSource в Table2, MasterFields выбрал поле Nomer (таблицы Tovar) и поле NomerTov (таблицы Prod) и тут появилось окно
Table2: Field index out of range.
Помогите а то совсем замучался.
Отправлен: 17.12.2005, 19:50
Вопрос задал: Afini (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, Afini!
Для поля Nomer таблицы Tovar должен быть создан ключ - уникальный индекс. Откроете таблицу в Database Dexctop, реструктуризация, поставите звездочку в колонке Key.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 07:21 Оценка за ответ: 5 Комментарий оценки: Спасибо! Вроде допетрил ! Полный респект!
Вопрос № 31.697
Как в консольном приложении использовать NMSMTP и NMPOP3?
Отправлен: 17.12.2005, 20:02
Вопрос задал: 34076 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, 34076!
Точно так-же как и в неконсольном: в строке Uses прописать соответствующий модуль, объявить переменные нужных типов, заполнить правильно их свойства и вперед. :)
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 07:24
Вопрос № 31.701
Здравствуйте, уважаемые эксперты!
Вопрос такой: как можно установить шрифт по нажатию на Button?
Я знаю как это сделать в операционной системе Windows 9x, но в XP я не смог найти в реестре ветвь, по которой регистрируются шрифты ('SoftwareMicrosoftWindowsCurrentVersionFonts'). Есть ли вообще универсальный для любой операционки способ? Помогите, кто чем может...
Отвечает: sir henry
Здравствуйте, Ярослав Николаевич!
Вам нужно установить шрифт в операционную систему или установить шрифт для определенного компонента?
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 07:26 Оценка за ответ: 3 Комментарий оценки: Именно в операционку, а не для компонента. Стал бы я спрашивать про реестр?
Вопрос № 31.709
Здраствуйте уважаемые эксперты.
и снова мне нужна ваша помощ
мне нужно чтобы если в листбоксе есть 2 одинаковые записи то програма удалила бы одну из них, я пробовал реализовать это как написано в приложении но ничего невышло :(
Приложение:
Отправлен: 17.12.2005, 22:45
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Romodos
Здравствуйте, Станислав!
Я полагаю, что вместо listbox.items[listbox.itemindex] надо использовать listbox.items[i]. А так всё верно
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 17.12.2005, 23:27
Отвечает: Denisss Здравствуйте, Станислав!
Ух, ну и код....
Рабочий смотрите в приложении.
Если хотите, чтобы программа удаляля строки без учета регистра, то вместо строки if (Items[i] = Items[pred(i)]) then
введите if (AnsiUpperCase(Items[i]) = AnsiUpperCase(Items[pred(i)])) then
Приложение:
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 18.12.2005, 13:25
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
with listbox1 do
begin
Sorted:=true;
i:=0;
while i
begin
while (i
Items.Delete(i+1);
inc(i);
end;
end;
end;
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 19.12.2005, 13:00
Вопрос № 31.727
Здравствуйте! Подскажите, пожалуйста, как решить проблему: есть текстовый файл и Memo. Как в Memo из этого файла загрузить строки, но не все (LoadFromFile не подходит, т.к. тогда слишком много файлов - это вообще-то должны загружаться описания для книг), а, например, с 3 по 5ую, для другого итема - с 5 по 7. Как это реализовать?
Отвечает: nimoid
Здравствуйте, Ваньков Петр Семенович!
При чем тут итемы, файлы? брр... Прально вопрос задавай. :)
Можно так:
Загружай файл в TStringList и бери от туда нужные строки вставляй в мемо.
//--------------------------------------------------
var
SList: TStringList;
begin
SList := TStringList.Create;
try
SList.LoadFromFile('путь к файлу');
Memo1.Lines.Add(SList.Strings[3]); // грузишь 3-ю строку в мемо
Memo1.Lines.Add(SList.Strings[4]); // грузишь 4-ю строку в мемо
finally
SList.Free;
end;
end;
//--------------------------------------------------
Можно конечн и по-другому... какие у тя файлы размером?
--------- Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и вперед... )
Ответ отправил: nimoid (статус: 6-ой класс)
Отправлен: 18.12.2005, 03:25 Оценка за ответ: 4 Комментарий оценки: Я имел в виду итемы ListBox`а, в котором список книг, при выборе итема из списка в Memo грузится описание. Спасибо за ответ!
Отвечает: sir henry
Здравствуйте, Ваньков Петр Семенович!
Это делается загрузкой именно строк, а не файлов:
var
f: TextFile;
s: string;
Begin
AssignFile(f, 'Имя_файла.txt');
Reset(f);
While not Eof(f) Do
Begin
ReadLn(f, s);
{После прочтения строки, Вы ее сравниваете с шаблоном, если эта та строка, загружаете строку в мемо}
If Условие Then
Memo1.Lines.Add(s);
End;
End;
Больше никак.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 07:33 Оценка за ответ: 4 Комментарий оценки: Большое спасибо!
Отвечает: REFERI
Здравствуйте, Ваньков Петр Семенович!
Просто можно пропустить ненужные строки - т.е. выполнять над ними те же операции что и со строками которые надо вывечти, но не выводя их. Например первые 3 строки просто прочитать а 3-5 не только читать но и выводить...
Или использовать функцию Setpos - установить позицию в файле и потом читать.
Посмотрите в справке - наберите file, string или pos - найдете что вам нужно и на примере посмотрите...
Удачи!
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 18.12.2005, 10:47 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Schmak
Здравствуйте, Ваньков Петр Семенович!
Загружайте данные из файла не с помощью Memo1.LoadFromFile, а с помощью readln. Например, если Вам надо считать с 5 по 7 строку то сначала 4 раза читаете данные из файла, затем 3 раза читаете и выводите в Memo1 при помощи метода items.add() и закрываете файл в конце.
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 19.12.2005, 13:00
Отвечает: Ataman N. N.
Здравствуйте, Ваньков Петр Семенович!
Открываете файл
AsignFile(f,<FileName>);
Reset(f);
while not EOF(f) do
begin
//Читаете посторочно файл
ReadLn(f,s:String);//допустим так
//Если это строка 3-5 и т.д., то
Memo.Lines.Add(s);
end;
CloseFile(f);
Ответ отправил: Ataman N. N. (статус: 4-ый класс)
Отправлен: 21.12.2005, 14:45
Вопрос № 31.738
Как прописать условие для проверки есть ли буфере, что нибудь.
Отвечает: sir henry
Здравствуйте, Шишкин М.А.!
В каком именно буфере? Потрудитесь объяснить, ведь буферы бывают разные.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 10:45
Отвечает: Ерёмин Андрей Здравствуйте, Шишкин М.А. !
Вот самый простой способ:
Uses Clipbrd;
. . .
Clipboard.Open;
If Length(Clipboard.AsText) > 0 Then
Caption:='Что-то есть' Else Caption:='Буфер пуст';
Clipboard.Close;
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 18.12.2005, 11:02 Оценка за ответ: 5
Вопрос № 31.763
Подскажите как производить чтение из файла пословно.
Допустим есть файл (текстовый) и из него надо выделять слова:
Например:
Заголовок
Таблица
итог.
f: TextFile;
Begin
AssignFile(f, nm);
- а что дальше писать?
Отправлен: 18.12.2005, 18:06
Вопрос задал: Andrew (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Romodos
Здравствуйте, Andrew!
Ну дык и читаете до пробела, дальше новое слово. А специальной функции для пословного чтения нет.
Намётки в приложении. Не проверял, но должно работать. Суть в чём: если пробел или перевод строки, то следующее слово, иначе прибавляем символ к текущему слову.
Приложение:
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 18.12.2005, 18:36
Отвечает: sir henry
Здравствуйте, Andrew!
Вам надо перебирать строку посимвольно. Если попадаются символы больше пробела, то он плюсуется к предыдущему. Если символ пробел и меньше, то пропускается, а слово записаное ранее кончается.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 18.12.2005, 19:23
Отвечает: Schmak
Здравствуйте, Andrew!
Можно вот так:
1) Считываем всю строку.
2) Ищем в строке 1-ый пробел, выделяем слово до этого пробела.
3) Запоминаем слово и удаляем его из строки вместе с пробелом.
4) Повторяем со 2-ого пункта пока в строке не останется пробелов. То что останется в строке будет последним словом.
В следующей программе приведена программа, ситывающая слова из файла, записанные через пробел и записывающая х в столбик.
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 19.12.2005, 13:47