使用批处理文件有一种方法可以从目录中的所有文件中剥离.deploy扩展名.
例如
1.txt.deploy => 1.txt
2.txt.deploy => 2.txt
Run Code Online (Sandbox Code Playgroud)
等等
我的机器上有python 2.7.6和3.4.0.2.7版本在我的路上.我想用3.4建立一个virtualenv.SO和其他地方有很多帖子建议我从命令提示符处执行以下操作:
virtualenv -p c:\python34 myvirtualenv
Run Code Online (Sandbox Code Playgroud)
但这对我不起作用.控制台会话具有管理员权限,UAC已关闭,但是我收到权限问题:
F:\virtualenv>virtualenv -p c:\python34 myenv
Running virtualenv with interpreter c:\python34
Traceback (most recent call last):
File "c:\python27\scripts\virtualenv-script.py", line 9, in <module>
load_entry_point('virtualenv==1.11', 'console_scripts', 'virtualenv')()
File "C:\Python27\lib\site-packages\virtualenv.py", line 779, in main
popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)
File "C:\Python27\lib\subprocess.py", line 709, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
startupinfo)
WindowsError: [Error 5] Access is denied
Run Code Online (Sandbox Code Playgroud)
我也试过它专门指向3.4版本的virtualenv,但没有改变路径它最终执行混合包2.7和3.4 python文件.
我可以找到设置我的虚拟环境的唯一方法是将我的路径改为3.4,运行virtualenv然后将我的路径重置为2.7,这将击败virtualenv上的python开关点.
谢谢
我需要正则表达式帮助创建一个delphi函数来替换Rad Studio XE2中的HyperString ParseWord函数.HyperString是一个非常有用的字符串库,从未跳转到Unicode.我得到它主要工作,但它根本不尊重引用分隔符.我需要它与下面描述的功能完全匹配:
function ParseWord(const Source,Table:String; var Index:Integer):String;
使用单字符分隔符表的顺序,从左到右的令牌解析.引用字符串中的分隔符将被忽略.表中不允许使用引号分隔符.
索引是由函数更新为指向下一个单词的指针(初始化为第一个单词的'1').要检索下一个单词,只需使用先前返回的索引值再次调用该函数.
注意:如果Length(Resultant)= 0,则没有其他单词可用. 引用字符串中的分隔符将被忽略.(我的重点)
这是我到目前为止:
function ParseWord( const Source, Table: String; var Index: Integer):string;
var
RE : TRegEx;
match : TMatch;
Table2,
chars : string;
begin
if index = length(Source) then
begin
result:= '';
exit;
end;
// escape the special characters and wrap in a Group
Table2 :='['+TRegEx.Escape(Table, false)+']';
RE := TRegEx.create(Table2);
match := RE.Match(Source,Index);
if match.success then
begin
result := copy( Source, Index, match.Index - Index);
Index := …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 dll 中实现 CreateProcessW,以便用户可以在单独的进程中启动应用程序。
对于初学者,我正在对代码中的命令进行硬编码,直到我弄清楚为止。
我有
STARTUPINFO si = {sizeof(STARTUPINFO), 0};
si.cb = sizeof(si);
PROCESS_INFORMATION pi = {0};
LPCTSTR AppName=L"c:\\utilities\\depends.exe";
LPTSTR Command = L"c:\\utilities\\tee.exe";
if (CreateProcessW(AppName, Command, 0, 0, 0, CREATE_DEFAULT_ERROR_MODE, 0, 0, &si, &pi)) {
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
return GX_RESULT_OK;
} else {
.. show error msg
}
Run Code Online (Sandbox Code Playgroud)
这将启动 Depends,但不会打开 Tee.exe。没有错误,它只是忽略命令行参数。参数是正确的,我可以在运行提示下运行它,它工作正常。如果我将 AppName 留空并指定 Depends.exe 作为命令参数它也可以工作,但如果我指定
LPTSTR Command = L"c:\\utilities\\depends.exe c:\\utilities\\tee.exe";
Run Code Online (Sandbox Code Playgroud)
我收到错误 3:“系统找不到指定的路径”。
此外,通过指定 lpCurrentDirectory 参数,它同样会被忽略。
在C++ Builder XE2中,IDE将在TMyForm类之后立即将此行代码放在与TMyForm关联的头文件中.我敢肯定,这涉及到一个事实,即所有TMyForm在MyForm.dfm定义和需要的属性以某种方式链接到可执行文件,但我不能找到文档中或在线对它的任何引用.谷歌搜索"extern PACKAGE"只会产生大量包含该短语的代码示例.
奇怪的是,评论它似乎没有任何影响.我甚至删除了.res文件并进行了重建,没有它就可以正常运行.这似乎否定了我的上述假设.
我有2个字符串数组,在头文件中定义如下:
#ifndef DRC_DefinesH
#define DRC_DefinesH
#include <string>
#include <System.hpp>
//---------------------------------------------------------------------------
std::string MagFields[] = {
"SCAN", "EVENT", "EVENT2", "EVENT1", "EVENT3", "VECTORX", "VECTORY", "VECTORZ", "MAG1RAW", "MAG2RAW", "MAG3RAW",
"MAG4RAW", "MAG1UNCOMP", "MAG2UNCOMP", "MAG3UNCOMP", "MAG4UNCOMP", "MAG1COMP", "MAG2COMP", "MAG3COMP", "MAG4COMP",
"GRAD1", "GRAD2", "GRAD3", "UTC", "LAT", "LON", "ALT", "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4", "SYSTIME"};
std::string AnalogFields[] = {
"SCAN", "EVENT0", "EVENT1", "EVENT2", "EVENT3", "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4", "ANALOG5", "ANALOG6",
"ANALOG7", "ANALOG8", "ANALOG9", "ANALOG10", "ANALOG11", "ANALOG12", "ANALOG13", "ANALOG14", "ANALOG15", "ANALOG16",
"ANALOG17", "ANALOG18", "ANALOG19", "ANALOG20", "ANALOG21", "ANALOG22", "ANALOG23", "ANALOG24", "ANALOG25", …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的基类/派生类场景:
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
class BaseChannel{
private:
public:
virtual ~BaseChannel(){};
virtual void SayBoo( bool SelectAll)=0;
};
class gdbChannel: BaseChannel{
public:
void SayBoo(bool SelectAll) {if (SelectAll) cout<<"boo";}
};
class UsesChannel{
public:
BaseChannel * c;
};
int _tmain(int argc, _TCHAR* argv[])
{
gdbChannel gc;
UsesChannel uc;
// uc.c = &gc; //cannot convert gdbChannel* to BaseChannel*
uc.c = (BaseChannel*)&gc; // works
uc.c->SayBoo(true);
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我上面说明的初始实现将无法编译.有谁能解释为什么?我觉得因为gdbChannel明确是BaseChannel的一个实例,所以不需要强制转换.
我在Python中相当绿,并试图让django努力建立一个简单的网站.我在Python 2.7.6下安装了Django 1.6,但无法运行django-admin.根据教程我应该创建一个项目如下,但我得到一个语法错误:
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> import sys
>>> print(django.VERSION)
(1, 6, 0, 'final', 0)
>>> django-admin.py startproject Nutana
File "<stdin>", line 1
django-admin.py startproject Nutana
^
SyntaxError: invalid syntax
>>>
Run Code Online (Sandbox Code Playgroud)
我在site-packages目录中创建了一个.pth文件,其中包含:
c:\python27\lib\site-packages\django
c:\python27\lib\site-packages\django\bin
Run Code Online (Sandbox Code Playgroud)
但这没有用.我也用相对路径尝试过它,而斜线则用另一种方式.
我也直接从命令行尝试:
Z:\Nutana GeophysicsXXX\Web_Django>python django-admin.py startproject Nutana
python: can't open file 'django-admin.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
我哪里出错?
这显然是我自学计算机科学教育的一个漏洞......
wxWidgets应用程序中文本控件(wxTextCtrl)的构造函数具有验证器对象的可选参数.所有代码示例都在文本控件的构造函数中动态创建验证器.
这有效..
wxString value = L"0.0";
wxTextCtrl* _Text = new wxTextCtrl(this, wxID_ANY, value,
wxDefaultPosition, wxDefaultSize, 0,
wxTextValidator(wxFILTER_NUMERIC, &value));
Run Code Online (Sandbox Code Playgroud)
但是在我的特殊情况下,我想在另一个函数中创建验证器并将其传回,这是行不通的.作为一个中间步骤,我试图在创建wxTextCtrl之前创建它并将其传递但是这也不起作用......
wxString value = L"0.0";
wxValidator valid = wxTextValidator(wxFILTER_NUMERIC, &value);
wxTextCtrl* _Text = new wxTextCtrl(this, wxID_ANY, value,
wxDefaultPosition, wxDefaultSize, 0, valid);
Run Code Online (Sandbox Code Playgroud)
虽然这编译并运行但它不执行验证.有谁能解释为什么?
wxTextValidator的原型调用常量引用.
wxTextCtrl::wxTextCtrl ( wxWindow * parent,
wxWindowID id,
const wxString & value = wxEmptyString,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = 0,
const wxValidator & validator = wxDefaultValidator,
const wxString & …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何从 Windows 上的 fortran 可执行文件调用 fortran dll 中的函数。我正在 Eclipse 中使用 gfortran 4.7 和 photran。
我的测试 dll 在 hello.f90 中有一个函数:
你好.f90
subroutine hello
implicit none
print *, "Hello World!"
end subroutine hello
Run Code Online (Sandbox Code Playgroud)
使用以下生成文件:
all:
gfortran -Wall -c hello.f90
gfortran -shared -o hello.dll hello.o
Run Code Online (Sandbox Code Playgroud)
Dependency Walker 确认已导出函数“hello_”。
现在我正在尝试构建一个动态调用它的程序。我根据在网上找到的示例构建了以下内容,但无法编译:
main.f90
program main
implicit none
integer :: p
pointer (q, hello)
p = loadlibrary("hello.dll")
q = getprocaddress(p, "hello_")
call hello
end program main
Run Code Online (Sandbox Code Playgroud)
生成文件
all:
gfortran -Wall -pedantic -fcray-pointer main.f90
Run Code Online (Sandbox Code Playgroud)
错误消息是函数 LoadLibrary(和 getprocaddress)没有 IMPLICIT …
c++ ×5
c++builder ×3
python ×2
batch-file ×1
c++11 ×1
c++98 ×1
delphi ×1
django ×1
fortran ×1
gfortran ×1
polymorphism ×1
regex ×1
rename ×1
virtualenv ×1
winapi ×1
wxwidgets ×1