Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизРабота дельфи с внешь устройствами Найти похожие ветки
← →
Глеб (2012-05-18 14:56) [0]Добрый день, прошу помочь в след.
У меня есть один эдит куда пользователь вводит символ, дельфи должна просмотреть этот символ и если этому символу соответствует имя логического диска, которые находиться на компе пользователя в другой эдит вывести общие объем диска если диска такого на компе нет, то программа должна вывести строку - диска нет
Как это реализовать в дельфи?
Использую дельфи 7 лайт
← →
Cobalt © (2012-05-18 15:06) [1]ключевые слова для гугла:
Volume, info, delphi
← →
Медвежонок Пятачок © (2012-05-18 15:12) [2]в другой эдит вывести общие объем диска
Edit2.text := <чего-то там в носу, и какой-то текст>;
"в другой эдит вывести" - это вот так.
← →
Омлет © (2012-05-18 15:18) [3]http://www.efg2.com/Lab/Library/Delphi/IO/D3DiskSpaceKludge.ZIP
← →
Глеб (2012-05-18 15:31) [4]Омлет спасибо за программку - познавательно, я тут собрал из обрезков и получилось вот так сейчас под программу свою адаптирую и будет нормально
Медвежонок Пятачок так и не понял что ты написал и зачем оно мне
procedure TForm1.Button1Click(Sender: TObject);
var
FreeBytesAvailableToCaller: TLargeInteger;
FreeSize: TLargeInteger;
TotalSize: TLargeInteger;
begin
GetDiskFreeSpaceEx("c:", FreeBytesAvailableToCaller, Totalsize, @FreeSize);
Memo1.Lines.Add("VolumeName = "+IntToStr(Totalsize));
end;
end.
← →
Медвежонок Пятачок © (2012-05-18 15:36) [5]и зачем оно мне
я же не спрашиваю зачем ты спрашивал "как вывести?"
я ответил как вывести.
Когда спрашивают "как вывести", то обычно уже имеют само выводимое. И его остается только "вывести".
← →
Медвежонок Пятачок © (2012-05-18 15:41) [6]это все равно что задать такой вопрос:
я сажусь в поезд в балтиморе и еду в чаттанугу, а в кармане у меня листок с распечатанным содержимым диска це.
как такое реализовать в делфи?
← →
Глеб (2012-05-18 16:07) [7]Медвежонок Пятачок истинна есть в твоих словах, помоги с ошибкой разобраться мне а то не пойму. Идет непонимание строки си и паскаля как мне избавиться от этой ошибки?
[Error] Unit4CozdanieFleshki.pas(149): Incompatible types: "Char" and "PAnsiChar"
procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);
const
mask : set of char =["A".."Z", "a".."z"];
var
FreeBytesAvailableToCaller: TLargeInteger;
FreeSize: TLargeInteger;
TotalSize: TLargeInteger;
begin
if Edit1.Text = " не имеет значение" then edit1.Text:="";
if(Key in mask) then begin
Edit1.Text:=UpperCase(Key);
end;
Key:=#0;
begin
GetDiskFreeSpaceEx(edit1.text [1]), FreeBytesAvailableToCaller, Totalsize, @FreeSize);
label1.Caption(IntToStr(Totalsize));
end;
end;
← →
Медвежонок Пятачок © (2012-05-18 16:09) [8]функция UpperCase хочет аргумент одного типа а ты ей суешь аргумент другого типа.
← →
Глеб (2012-05-18 16:11) [9]Медвежонок Пятачок Да я понял это, а можешь на моём коде исправить ошибку?
← →
Медвежонок Пятачок © (2012-05-18 16:15) [10]зачем править в этом коде ошибку, ели весь этот код должен быть удален?
1. едит не нужен.
2. выбор диска вообще не нужен.
3. сразу получить список всех дисков, сразу получить инфу по ним и сразу ее отобразить.
Сразу по всем дискам.
не заставляя юзера что-то там вводить в свой дурацкий UI
← →
Глеб (2012-05-18 16:18) [11]Медвежонок Пятачок я бы с удовольствием сделал, как вы говорите, но у меня заказ и заказчик уже опр интерфейс поэтому мне и приходиться в его игры играть. Помогите мне с этим кодом
← →
Медвежонок Пятачок © (2012-05-18 16:26) [12]я думаю, что правильный порядок вещей такой:
сначала изучаешь как делается приведение типа чар к пансичар, а затем уже ищешь заказчика.
не наоборот.
← →
Глеб (2012-05-18 16:27) [13]Т.е. не поможете - грустно
← →
Медвежонок Пятачок © (2012-05-18 16:28) [14]ну и это.
я как-то думаю, что заказчика твоего зовут "преподаватель информатики".
чьи занятия ты прогуливал.
← →
Медвежонок Пятачок © (2012-05-18 16:28) [15]Т.е. не поможете - грустно
я же тебе помог выше.
кури приведение типов.
← →
Давайте будем жрать! (2012-05-18 16:28) [16]
> я сажусь в поезд в балтиморе и еду в чаттанугу, а в кармане
> у меня листок с распечатанным содержимым диска це.как такое
> реализовать в делфи?
Подкиньте работающий код, кому не жалко, мне как раз такое щас нужно!
← →
icWasya © (2012-05-18 16:41) [17]>Глеб (18.05.12 16:07) [7]
>[Error] Unit4CozdanieFleshki.pas(149): Incompatible types: "Char" and "PAnsiChar"
Начиная с D2009, тип Char становится 16-битовым WideChar.
Поэтому тип set of char становится несколько тяжеловесным.
А следовательно, стоит расписатьif (Key in mask) then
вот таким образомif ((Key >="a")and(Key<="z") or (Key >="A")and(Key<="Z")) then
← →
Омлет © (2012-05-18 17:27) [18]
> Глеб
Медвежонок хочет сказать, что, прежде чем брать заказы, следует хотя бы учебник прочитать.procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
Nop, DiskSize: int64;
begin
if (Key in ["A".."Z", "a".."z"]) and
GetDiskFreeSpaceEx(PAnsiChar(Key + ":\"), Nop, DiskSize, nil) then
begin
Edit1.Text := AnsiUpperCase(Key);
label1.Caption := IntToStr(DiskSize);
end
else begin
Edit1.Text := "";
label1.Caption := "";
end;
Key := #0;
end;
> icWasya © (18.05.12 16:41) [17]
> А следовательно, стоит расписать...
set of AnsiChar.
← →
Давайте будем жрать! (2012-05-18 17:45) [19]
> Начиная с D2009, тип Char становится 16-битовым WideChar.
Вот вам и делфи 7 лайт
← →
Германн © (2012-05-18 18:17) [20]
> Начиная с D2009, тип Char становится 16-битовым WideChar.
Это в данном случае не при чем.
← →
Глеб (2012-05-18 19:17) [21]Омлет - вы правы, я не паскальщик, а больше на ассемблер заточен и некоторые спец языки. Дельфи я не знаю
Я вам благодарен за помощь.
← →
Глеб (2012-05-18 19:37) [22]Омлет - не могли бы мне отправить на адрес gleb.lucenko@mail.ru ваш № банковского счета или счета финансовой системы
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.088 c