void pManagement::projectContents() { /* *Todo: Hazır şablonlar sınıfı oluşturulacak. *Bu method hazır şablon sınıfına devredilecek. */ //Ana dosya oluşuturuluyor. QString path = getProjectPath()+QDir::separator()+getProjectName()+ QDir::separator()+getMainClass(); QFile mclass(path+".d"); if (!mclass.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream out(&mclass); out << "import std.stdio;" << endl << "void main(){" << endl << " writefln(\"Merhaba\");" << endl << "}" << endl; mclass.close(); QFile mindex(getProjectPath()+QDir::separator()+getProjectName()+QDir::separator()+"index.did"); if (!mindex.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream out2(&mindex); out2 << "RUNCLASS=" << getMainClass() <<".d\n"; mindex.close(); projectsHistory(getProjectPath()+QDir::separator()+getProjectName()); }
int main(int ac, const char** av) { JavaVMInitArgs vmArgs; vmArgs.version = JNI_VERSION_1_2; vmArgs.nOptions = 1; vmArgs.ignoreUnrecognized = JNI_TRUE; JavaVMOption options[1]; vmArgs.options = options; options[0].optionString = const_cast<char*>("-Xbootclasspath:[bootJar]"); JavaVM* vm; void* env; JNI_CreateJavaVM(&vm, &env, &vmArgs); JNIEnv* e = static_cast<JNIEnv*>(env); char mainClass[256]; getMainClass(mainClass, sizeof(mainClass)); jclass c = e->FindClass(mainClass); if (not e->ExceptionCheck()) { jmethodID m = e->GetStaticMethodID(c, "main", "([Ljava/lang/String;)V"); if (not e->ExceptionCheck()) { jclass stringClass = e->FindClass("java/lang/String"); if (not e->ExceptionCheck()) { jobjectArray a = e->NewObjectArray(ac - 1, stringClass, 0); if (not e->ExceptionCheck()) { for (int i = 1; i < ac; ++i) { e->SetObjectArrayElement(a, i - 1, e->NewStringUTF(av[i])); } e->CallStaticVoidMethod(c, m, a); } else fprintf(stderr, "Couldn't create array\n"); } else fprintf(stderr, "java.lang.String not found\n"); } else fprintf(stderr, "main method not found\n"); } else fprintf(stderr, "Main class not found\n"); int exitCode = 0; if (e->ExceptionCheck()) { exitCode = -1; e->ExceptionDescribe(); e->ExceptionClear(); } vm->DestroyJavaVM(); return exitCode; }