Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Файл   Найти похожие ветки 

 
Bast   (2007-08-22 15:51) [0]

Здравствуйте! Есть прога допустим 123.exe она должна себе копировать на Диск Ц в папку программ файлес, но если я воспользуюсь функциекй copy то надо указывать имя проги т.е. copy(123.exe, c:\....), а как быть если у прога уже 312.exe ?


 
Сергей М. ©   (2007-08-22 15:53) [1]

Абракадабра какая-то)...


 
Bast   (2007-08-22 16:03) [2]

Есть программа 123.exe мне нужно чтобы она сама себя скопировала на диск Ц


 
Elen ©   (2007-08-22 16:05) [3]

Этой функе фсе равно что копировать. Так и указывай как сказал


 
Bast   (2007-08-22 16:06) [4]

Да, но если 123.exe переименовать в 321.exe то она уже не скорируется как быть?


 
Вася Правильный   (2007-08-22 16:20) [5]

Application.ExeName


 
Сергей М. ©   (2007-08-22 16:26) [6]


> если 123.exe переименовать в 321.exe то она уже не скорируется


Абракадабра ..


 
Bast   (2007-08-22 16:46) [7]

Пытаюсь сделать вот так:
CopyFile(Application.ExeName,"c:\test.exe",true);
Но выдает ошибку:
Build
 [Error] Unit1.pas(28): Incompatible types: "String" and "PAnsiChar"
 [Fatal Error] Project2.dpr(5): Could not compile used unit "Unit1.pas"


 
Сергей М. ©   (2007-08-22 16:53) [8]


> Bast   (22.08.07 16:46) [7]
>
> Пытаюсь сделать вот так


> выдает ошибку


И ?

Твои-то действия каковы в этой ситуации ?

Кроме трындёжа в форуме ?

Спрасвку ты уже проштудировал ?

Что--то в ней не понял ?

Что ?


 
wp2 ©   (2007-08-22 17:09) [9]

А разве можно просто так самого себя копировать без хакерских методов.

> [Error] Unit1.pas(28): Incompatible types: "String" and "PAnsiChar"
Бери словарь англо-русский (должен быть по-любому). И переводи.
"Несовместимые типы String и PAnsiChar"

Теперь головой думаем, что надо сделать чтобы они были совместимыми?

ПРАВИЛЬНО!

Привести к нужному типу.
CopyFile(PAnsiChar(Application.ExeName),"c:\test.exe",true);

Как будто раньше никогда не приходилось типы приводить....


 
wp2 ©   (2007-08-22 17:09) [10]

Эх, нету на вас С++ там бы вообще погрязли...


 
Bast   (2007-08-22 17:12) [11]

Какая функция переводит String в PAnsiChar? так понятнее?


 
Dib@zol ©   (2007-08-22 17:22) [12]

> [11] Bast   (22.08.07 17:12)

ROFL +1
Объяснено же ж уже!!! PANSIChar()!!! Можно кстати просто PChar()!


 
Bast   (2007-08-22 17:54) [13]

Всем спасибо


 
grisme ©   (2007-08-22 18:40) [14]

ну троян ведь небось :)


 
Anatoly Podgoretsky ©   (2007-08-22 19:16) [15]

> Bast  (22.08.2007 17:54:13)  [13]

Теперь дрожите мужики, сами напросились.


 
Bast   (2007-08-22 23:17) [16]

Нет, это не троян


 
DrPass ©   (2007-08-22 23:18) [17]


> Bast   (22.08.07 23:17) [16]
> Нет, это не троян

В руках "умелого" программиста любая программа может стать хуже трояна...


 
Bast   (2007-08-22 23:46) [18]


> В руках "умелого" программиста любая программа может стать
> хуже трояна...

:)))))))))))


 
wp2 ©   (2007-08-23 11:35) [19]

>Какая функция переводит String в PAnsiChar? так понятнее?

Хм, а ведь есть такая функция, только не помню как называется. Счас поисчу.
Ага. вот оно. StrPCopy

var PC: PChar;
begin
 StrPCopy(PC, Application.ExeName);
 CopyFile(PC, "c:\test.exe", true);
end;

вроде так.


 
wp2 ©   (2007-08-23 11:40) [20]

уточнение:

var PC: PChar;
begin
New(PC);
StrPCopy(PC, Application.ExeName);
CopyFile(PC, "c:\test.exe", true);
end;

Проверено в Турбо Pascal 7.1 :-)


 
wp2 ©   (2007-08-23 11:52) [21]

Я вот только не вдуплил, что должна возвращать функция StrPCopy?
Вроде тоже возвращает строку...

тогда можно записать

var PC: PChar;
begin
New(PC);
CopyFile(StrPCopy(PC, Application.ExeName), "c:\test.exe", true);
end;

тоже работает.
Вот только в примерах я нигде не видел, чтобы ее использовали как функцию.


 
wp2 ©   (2007-08-23 11:55) [22]

То я когда-то вроде отлаживал приведение типа PChar.
И что вы думаете я обнаружил, какой именно ассемблерный код?
А никакой! Там была проверка на длину строку (не нулевая ли), а потом return :-)

Вот вам и всё приведение типа... :-)


 
Leonid Troyanovsky ©   (2007-08-23 13:12) [23]


> wp2 ©   (23.08.07 11:35) [19]
> wp2 ©   (23.08.07 11:40) [20]
> wp2 ©   (23.08.07 11:52) [21]
> wp2 ©   (23.08.07 11:55) [22]

RTFM, RTFM & RTFM.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-08-23 15:10) [24]


> wp2 ©   (23.08.07 11:55) [22]

Это не приведение, а именно функция, кроме того ты код не до конца дочитал.


 
Anatoly Podgoretsky ©   (2007-08-23 15:10) [25]

Кстати в коде нет проверки длины, это ты выдумал.



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

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
1-1183635092
XanM
2007-07-05 15:31
2007.09.16
Модальные окна


8-1165417477
algol
2006-12-06 18:04
2007.09.16
Разобрать медиа файл и построить спектр


6-1169289857
Dordmunt
2007-01-20 13:44
2007.09.16
Отправить xml по HTTPS зерез idHTTP


15-1187469643
Константинов
2007-08-19 00:40
2007.09.16
Смена работы


3-1179436348
КрЫска
2007-05-18 01:12
2007.09.16
Написать SQL-запрос, осуществляющий выборку из 2-х таблиц.





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