職場で簡単なスクリプトを作るときに、意外とインストールとかしない縛りだと厳しいこともあるので、JScriptチート用。ファイルの読み書き用。
TypeScriptのPlaygroundにまるっとコピペするとコーディングがしやすい。
そしてこんなん用意するぐらいならpowershell_ise使ったほうが捗るのではと気づく。
stream.ts
namespace Adodb {
// https://msdn.microsoft.com/ja-jp/library/cc389884.aspx
export const enum StreamTypeEnum {
adTypeBinary = 1,
adTypeText = 2
}
// http://msdn.microsoft.com/ja-jp/library/cc389881.aspx
export const enum StreamReadEnum {
adReadAll = -1,
adReadLine = -2
}
// http://msdn.microsoft.com/ja-jp/library/cc389886.aspx
export const enum StreamWriteEnum {
adWriteChar = 0,
adWriteLine = 1
}
// http://msdn.microsoft.com/ja-jp/library/cc389870.aspx
export const enum SaveOptionEnum {
adSaveCreateNotExist = 1,
adSaveCreateOverWrite = 2
}
// https://msdn.microsoft.com/ja-jp/library/cc389826.aspx
export const enum LineSeparatorsEnum {
adCR = 13,
adCRLF = -1,
adLF = 10
}
// https://msdn.microsoft.com/ja-jp/library/cc389847.aspx
export const enum ObjectStateEnum {
adStateClosed = 0,
adStateOpen = 1,
adStateConnecting = 2,
adStateExecuting = 4,
adStateFetching = 8
}
// https://msdn.microsoft.com/ja-jp/library/cc389773.aspx
export const enum ConnectModeEnum {
adModeRead = 1,
adModeReadWrite = 3,
adModeRecursive = 0x400000,
adModeShareDenyNone = 16,
adModeShareDenyRead = 4,
adModeShareDenyWrite = 8,
adModeShareExclusive = 12,
adModeUnknown = 0,
adModeWrite = 2
}
// https://msdn.microsoft.com/ja-jp/library/cc364272.aspx
export interface Stream {
Open() : void;
Close(): void;
Write(data: any): void;
WriteText(data: string, option: StreamWriteEnum): void;
Read(read?: StreamReadEnum): any;
ReadText(read?: StreamReadEnum): string;
Flush(): void;
CopyTo(destStream: Stream, numChars?: number): void;
SkipLine(): void;
LineSeparator: LineSeparatorsEnum;
EOS: boolean;
SetEOS(eos: boolean): void;
SaveToFile(fileName: string, saveOptions: SaveOptionEnum): void;
LoadFromFile(fileName: string): void;
Charset: string;
Cancel(): void;
Size: number;
Position: number;
Type: StreamTypeEnum;
State: ObjectStateEnum;
Mode: ConnectModeEnum;
}
/**
* @return adodb.stream
*/
export function CreateStream() {
return <Adodb.Stream>new ActiveXObject("ADODB.Stream");
}
} // Adodb