- Registriert
- 17.03.10
- Beiträge
- 51
Hallo mein lieben mitATler,
ich fackel nicht lang rum, sondern komm zu meinem Problem:
Ich möchte in COCOA + Object-C eine grafische Oberfläche für unrar (Winrar) programmieren, als Übung für die Schule. Hier der bereits programmierte Code:
Ich bekomme Ausgegeben:
Nur falls die Datei passwortgeschützt ist, soll ein Fenster erscheinen, welches mit eine Eingabe ermöglicht. Mir fehlt die Zeile : Enter password (will not be echoed) for ... damit ich was für ne if habe!
Ich hoffe Ihr könnt mir helfen!
EDIT:
Hey mal kurz ein Update! Konnte gerade ein bisschen weiterprobieren und habe herausgefunden das der Fehler in dieser Zeile liegt:
Sobald er bei der Zeile zur Passwortabfrage kommt, hängt sich das App auf.
ich fackel nicht lang rum, sondern komm zu meinem Problem:
Ich möchte in COCOA + Object-C eine grafische Oberfläche für unrar (Winrar) programmieren, als Übung für die Schule. Hier der bereits programmierte Code:
Code:
- (void) startUnrarScript:(NSMutableArray *)argues {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
unrar = [[NSTask alloc] init];
[unrar setLaunchPath:[[NSBundle mainBundle] pathForResource:@"unrar" ofType:@""]];
[unrar setArguments:argues];
NSPipe *outputPipe = [NSPipe pipe];
[unrar setStandardOutput:outputPipe];
NSFileHandle *readHandle = [outputPipe fileHandleForReading];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(taskTerminated:) name:NSTaskDidTerminateNotification object:unrar];
[unrar launch];
NSData *readData;
while ((readData = [readHandle availableData]) && [readData length]) {
NSString *stringData = [[NSString alloc] initWithData:readData encoding:NSASCIIStringEncoding];
if ([stringData rangeOfString:@"Enter password"].location != NSNotFound) {
//PASSWORD GEFUNDEN
}
}
[unrar terminate];
[pool release];
}
- (void) taskTerminated:(NSNotification *)note {
[unrar release];
unrar = nil;
}
Ich bekomme Ausgegeben:
UNRAR 3.93 freeware Copyright (c) 1993-2010 Alexander Roshal
Extracting from /Users/Omega/Downloads/...
Nur falls die Datei passwortgeschützt ist, soll ein Fenster erscheinen, welches mit eine Eingabe ermöglicht. Mir fehlt die Zeile : Enter password (will not be echoed) for ... damit ich was für ne if habe!
Ich hoffe Ihr könnt mir helfen!
EDIT:
Hey mal kurz ein Update! Konnte gerade ein bisschen weiterprobieren und habe herausgefunden das der Fehler in dieser Zeile liegt:
Code:
while ((readData = [readHandle availableData]) && [readData length]) {
NSString *stringData = [[NSString alloc] initWithData:readData encoding:NSASCIIStringEncoding];
if ([stringData rangeOfString"Enter password"].location != NSNotFound) {
//PASSWORD GEFUNDEN
}
}
Sobald er bei der Zeile zur Passwortabfrage kommt, hängt sich das App auf.
Zuletzt bearbeitet:
"Enter password"].location != NSNotFound) {