本文整理汇总了C++中OpenFile函数的典型用法代码示例。如果您正苦于以下问题:C++ OpenFile函数的具体用法?C++ OpenFile怎么用?C++ OpenFile使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了OpenFile函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int
main() {
int fd;
int loopCnt;
int byteOffset= 0;
char strData[MaxBlockLength];
char fileName[32] = "writeTest.txt";
/*****************************/
/* Initialize the system */
/*****************************/
if( InitReplFs( ReplFsPort, 0, 1 ) < 0 ) {
fprintf( stderr, "Error initializing the system\n" );
return( ErrorExit );
}
/*****************************/
/* Open the file for writing */
/*****************************/
fd = OpenFile( fileName );
if ( fd < 0 ) {
fprintf( stderr, "Error opening file '%s'\n", fileName );
return( ErrorExit );
}
/**************************************/
/* Write incrementing numbers to the file */
/**************************************/
for ( loopCnt=0; loopCnt<8; loopCnt++ ) {
sprintf( strData, "%d\n", loopCnt );
#ifdef DEBUG
printf( "%d: Writing '%s' to file.\n", loopCnt, strData );
#endif
if ( WriteBlock( fd, strData, byteOffset, strlen( strData ) ) < 0 ) {
printf( "Error writing to file %s [LoopCnt=%d]\n", fileName, loopCnt );
return( ErrorExit );
}
byteOffset += strlen( strData );
}
/**********************************************/
/* Can we commit the writes to the server(s)? */
/**********************************************/
if ( Commit( fd ) < 0 ) {
printf( "Could not commit changes to File '%s'\n", fileName );
return( ErrorExit );
}
/**************************************/
/* Close the writes to the server(s) */
/**************************************/
if ( CloseFile( fd ) < 0 ) {
printf( "Error Closing File '%s'\n", fileName );
return( ErrorExit );
}
printf( "Writes to file '%s' complete.\n", fileName );
return( NormalExit );
}
示例2: InitChannelDump
/* -------------------------------------------------------------
InitChannelDump
------------------------------------------------------------- */
void InitChannelDump(OPTIONSTRUCT *Options, CHANNEL * channel,
char *DumpPath)
{
char buffer[NAMESIZE];
if (channel->streams != NULL) {
sprintf(buffer, "%sStream.Flow", DumpPath);
OpenFile(&(channel->streamout), buffer, "w", TRUE);
sprintf(buffer, "%sStreamflow.Only", DumpPath);
OpenFile(&(channel->streamflowout), buffer, "w", TRUE);
/* output files for John's RBM model */
if (Options->StreamTemp) {
//inflow to segment
sprintf(buffer, "%sInflow.Only", DumpPath);
OpenFile(&(channel->streaminflow), buffer, "w", TRUE);
// outflow ( redundant but it's a check
sprintf(buffer, "%sOutflow.Only", DumpPath);
OpenFile(&(channel->streamoutflow), buffer, "w", TRUE);
// total incoming short wave
sprintf(buffer, "%sISW.Only", DumpPath);
OpenFile(&(channel->streamISW), buffer, "w", TRUE);
//net incoming short wave
sprintf(buffer, "%sNSW.Only", DumpPath);
OpenFile(&(channel->streamNSW), buffer, "w", TRUE);
// total incoming long wave
sprintf(buffer, "%sILW.Only", DumpPath);
OpenFile(&(channel->streamILW), buffer, "w", TRUE);
// net incoming long wave
sprintf(buffer, "%sNLW.Only", DumpPath);
OpenFile(&(channel->streamNLW), buffer, "w", TRUE);
//Vapor pressure
sprintf(buffer, "%sVP.Only", DumpPath);
OpenFile(&(channel->streamVP), buffer, "w", TRUE);
//wind speed
sprintf(buffer, "%sWND.Only", DumpPath);
OpenFile(&(channel->streamWND), buffer, "w", TRUE);
//air temperature
sprintf(buffer, "%sATP.Only", DumpPath);
OpenFile(&(channel->streamATP), buffer, "w", TRUE);
//beam radiation
sprintf(buffer, "%sBeam.Only", DumpPath);
OpenFile(&(channel->streamBeam), buffer, "w", TRUE);
//diffuse radiation
sprintf(buffer, "%sDiffuse.Only", DumpPath);
OpenFile(&(channel->streamDiffuse), buffer, "w", TRUE);
//skyview
sprintf(buffer, "%sSkyview.Only", DumpPath);
OpenFile(&(channel->streamSkyView), buffer, "w", TRUE);
}
}
if (channel->roads != NULL) {
sprintf(buffer, "%sRoad.Flow", DumpPath);
OpenFile(&(channel->roadout), buffer, "w", TRUE);
sprintf(buffer, "%sRoadflow.Only", DumpPath);
OpenFile(&(channel->roadflowout), buffer, "w", TRUE);
}
}
示例3: OpenFile
bool ReadScriptDescriptor::OpenFile(const string& filename) {
return OpenFile(filename, false);
}
示例4: ASSERT
status_t
Inode::Open(int mode, OpenFileCookie* cookie)
{
ASSERT(cookie != NULL);
MutexLocker locker(fStateLock);
OpenDelegationData data;
data.fType = OPEN_DELEGATE_NONE;
if (fOpenState == NULL) {
RevalidateFileCache();
OpenState* state = new(std::nothrow) OpenState;
if (state == NULL)
return B_NO_MEMORY;
state->fInfo = fInfo;
state->fFileSystem = fFileSystem;
state->fMode = mode & O_RWMASK;
status_t result = OpenFile(state, mode, &data);
if (result != B_OK) {
delete state;
return result;
}
fFileSystem->AddOpenFile(state);
fOpenState = state;
cookie->fOpenState = state;
locker.Unlock();
} else {
fOpenState->AcquireReference();
cookie->fOpenState = fOpenState;
locker.Unlock();
int newMode = mode & O_RWMASK;
int oldMode = fOpenState->fMode & O_RWMASK;
if (oldMode != newMode && oldMode != O_RDWR) {
if (oldMode == O_RDONLY)
RecallReadDelegation();
status_t result = OpenFile(fOpenState, O_RDWR, &data);
if (result != B_OK) {
locker.Lock();
ReleaseOpenState();
return result;
}
fOpenState->fMode = O_RDWR;
} else {
int newMode = mode & O_RWMASK;
uint32 allowed = 0;
if (newMode == O_RDWR || newMode == O_RDONLY)
allowed |= R_OK;
if (newMode == O_RDWR || newMode == O_WRONLY)
allowed |= W_OK;
status_t result = Access(allowed);
if (result != B_OK) {
locker.Lock();
ReleaseOpenState();
return result;
}
}
}
if ((mode & O_TRUNC) == O_TRUNC) {
struct stat st;
st.st_size = 0;
WriteStat(&st, B_STAT_SIZE);
file_cache_set_size(fFileCache, 0);
}
cookie->fFileSystem = fFileSystem;
cookie->fMode = mode;
cookie->fLocks = NULL;
if (data.fType != OPEN_DELEGATE_NONE) {
Delegation* delegation
= new(std::nothrow) Delegation(data, this, fOpenState->fClientID);
if (delegation != NULL) {
delegation->fInfo = fOpenState->fInfo;
delegation->fFileSystem = fFileSystem;
SetDelegation(delegation);
}
}
return B_OK;
}
示例5: ModifyTask
void ModifyTask(Task* p) { // modif quand CMD.wd
p->demand=1;
OpenFile(DEFAULT_EDITOR, PATH_TO_TASKS, p->id);
//~ ReloadTask(p->id);
p->demand=0;
}
示例6: ListAllTasks
void ListAllTasks(Task* p) {
OpenFile("ls", PATH_TO_TASKS, NULL);
}
示例7: OpenFile
void
XMLEdit::newdoc()
{
OpenFile(tr("untitled.xml"));
}
示例8: Load_Bitmap_File
int Load_Bitmap_File(BITMAP_FILE_PTR bitmap, char *filename)
{
// this function opens a bitmap file and loads the data into bitmap
int file_handle, // the file handle
index; // looping index
UCHAR *temp_buffer = NULL; // used to convert 24 bit images to 16 bit
OFSTRUCT file_data; // the file data information
// open the file if it exists
if ((file_handle = OpenFile(filename,&file_data,OF_READ))==-1)
return(0);
// now load the bitmap file header
_lread(file_handle, &bitmap->bitmapfileheader,sizeof(BITMAPFILEHEADER));
// test if this is a bitmap file
if (bitmap->bitmapfileheader.bfType!=0x4D42)
{
// close the file
_lclose(file_handle);
// return error
return(0);
} // end if
// now we know this is a bitmap, so read in all the sections
// first the bitmap infoheader
// now load the bitmap file header
_lread(file_handle, &bitmap->bitmapinfoheader,sizeof(BITMAPINFOHEADER));
// now load the color palette if there is one
if (bitmap->bitmapinfoheader.biBitCount == 8)
{
_lread(file_handle, &bitmap->palette,256*sizeof(PALETTEENTRY));
// now set all the flags in the palette correctly and fix the reversed
// BGR RGBQUAD data format
for (index=0; index < 256; index++)
{
// reverse the red and green fields
int temp_color = bitmap->palette[index].peRed;
bitmap->palette[index].peRed = bitmap->palette[index].peBlue;
bitmap->palette[index].peBlue = temp_color;
// always set the flags word to this
bitmap->palette[index].peFlags = PC_NOCOLLAPSE;
} // end for index
} // end if
// finally the image data itself
_lseek(file_handle,-(int)(bitmap->bitmapinfoheader.biSizeImage),SEEK_END);
// now read in the image, if the image is 8 or 16 bit then simply read it
// but if its 24 bit then read it into a temporary area and then convert
// it to a 16 bit image
if (bitmap->bitmapinfoheader.biBitCount==8 || bitmap->bitmapinfoheader.biBitCount==16 ||
bitmap->bitmapinfoheader.biBitCount==24)
{
// delete the last image if there was one
if (bitmap->buffer)
free(bitmap->buffer);
// allocate the memory for the image
if (!(bitmap->buffer = (UCHAR *)malloc(bitmap->bitmapinfoheader.biSizeImage)))
{
// close the file
_lclose(file_handle);
// return error
return(0);
} // end if
// now read it in
_lread(file_handle,bitmap->buffer,bitmap->bitmapinfoheader.biSizeImage);
} // end if
else
{
// serious problem
return(0);
} // end else
#if 0
// write the file info out
printf("\nfilename:%s \nsize=%d \nwidth=%d \nheight=%d \nbitsperpixel=%d \ncolors=%d \nimpcolors=%d",
filename,
bitmap->bitmapinfoheader.biSizeImage,
bitmap->bitmapinfoheader.biWidth,
bitmap->bitmapinfoheader.biHeight,
bitmap->bitmapinfoheader.biBitCount,
//.........这里部分代码省略.........
示例9: Init
vtkDCMParser::vtkDCMParser(const char *filename)
{
Init();
OpenFile(filename);
}
示例10: nextWorld
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
jdlvFrame::jdlvFrame (const char *fileToLoad) : nextWorld(NULL),
isChanged(false),
eM(elModeView), genNo(0), curColor(0), speed(3), timerID(0)
{
QFont fixedFont(jdlvFONTFACENAME, jdlvFONTSIZE);
fixedFont.setStyleHint(QFont::TypeWriter);
primeWorld = new_elMundoA();
vista = new elVista (this, primeWorld); setCentralWidget(vista);
vista->setMinimumSize(720, 480);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QToolBar *bottom = new permanentToolBar("ctrl", this);
bottom->setFloatable(false);
bottom->setMovable (false);
bottom->setIconSize(QSize(28,25));
showTimeCB = new QAction(QIcon(":/time.png"), QString("time"), this);
showInfoPB = new QAction(QIcon(":/info.png"), QString("info"), this);
connect(showTimeCB, SIGNAL(triggered(bool)), this, SLOT(ToggleTime(bool)));
connect(showInfoPB, SIGNAL(triggered()), this, SLOT(ShowInfo()));
bottom->addAction(showTimeCB);
bottom->addAction(showInfoPB); showInfoPB->setEnabled(false); //+
bottom->addWidget(new QLabel(" "));
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QActionGroup *modeGroup = new QActionGroup(this);
modeEdit = new QAction(QIcon(":/pen-in-box.png"),QString("Edit (X)"), this);
modeView = new QAction(QIcon(":/eye-half.png"), QString("View (Z)"), this);
setColor = new QAction(QIcon(":/empty1.png"), QString("color"), this);
connect(modeView, SIGNAL(triggered()), this, SLOT(SetModeView()));
connect(modeEdit, SIGNAL(triggered()), this, SLOT(SetModeEdit()));
connect(setColor, SIGNAL(triggered()), this, SLOT(PopupColorMenu()));
showTimeCB->setCheckable(true);
modeEdit ->setCheckable(true); modeEdit->setShortcut(QKeySequence("X"));
modeView ->setCheckable(true); modeView->setShortcut(QKeySequence("Z"));
modeView ->setChecked (true);
modeGroup->addAction(modeView); bottom->addAction(modeView);
modeGroup->addAction(modeEdit); bottom->addAction(modeEdit);
bottom->addAction(setColor);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QMenu *file_menu = menuBar()->addMenu("File");
openFile = new QAction(QIcon(":/book.png"), QString("Open.."), this);
reLoad = new QAction(QIcon(":/reload1.png"), QString("reload"), this);
connect(openFile, SIGNAL(triggered()), this, SLOT(OpenFile()));
connect(reLoad, SIGNAL(triggered()), this, SLOT(DoReload()));
file_menu->addAction(openFile);
file_menu->addAction(reLoad); reLoad->setEnabled(false);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QMenu *edit_menu = menuBar()->addMenu("Edit");
deleteSelected = new QAction(QString("delete"), this);
deleteSelected->setShortcut(QKeySequence("Del"));
cropSelected = new QAction(QString("crop"), this);
pasteClipboard =
new QAction(QIcon(":/win-paste.png"), QString("paste"), this);
copyCLR = new QAction(QIcon(":/export-blue.png"), QString("copy"), this);
copyBnW = new QAction(QIcon(":/export-mono.png"), QString("copy b/w"), this);
newWin = new QAction(QIcon(":/windows1.png"), QString("new window"), this);
bottom->addAction(pasteClipboard); pasteClipboard->setEnabled(false); //+
bottom->addAction(copyCLR); copyCLR->setShortcut(QKeySequence("Ctrl+C"));
bottom->addAction(copyBnW);
bottom->addAction(newWin); newWin->setEnabled(false); //+
connect(deleteSelected, SIGNAL(triggered()), this, SLOT(DeleteSelected()));
connect( cropSelected, SIGNAL(triggered()), this, SLOT( CropSelected()));
connect(pasteClipboard, SIGNAL(triggered()), this, SLOT(PasteClipboard()));
connect(copyCLR, SIGNAL(triggered()), this, SLOT(CopyCLR()));
connect(copyBnW, SIGNAL(triggered()), this, SLOT(CopyBnW()));
connect(newWin, SIGNAL(triggered()), this, SLOT(NewWindow()));
edit_menu->addAction(deleteSelected);
edit_menu->addAction( cropSelected); edit_menu->addSeparator();
edit_menu->addAction(pasteClipboard); edit_menu->addAction(copyCLR);
edit_menu->addAction(copyBnW);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
colorMenu = menuBar()->addMenu("Color");
#define ADD_colorMenu(ico,text,shortcut) \
colorMenu->addAction(*ico,text)->setShortcut(QKeySequence(shortcut))
ADD_colorMenu(enBlancoIco, "blanco", "B");
ADD_colorMenu(enRojoIco, "rojo (red)", "R");
ADD_colorMenu(enCastanoIco, Utf8("castaño (brown)"),"C");
ADD_colorMenu(enVerdeIco, "verde (green)", "V");
ADD_colorMenu(enAzulIco, "azul (blue)", "A");
colorMenu->addSeparator();
colorMenu->addAction("random Bicolor")->setShortcut(QKeySequence("Ctrl+B"));
colorMenu->addAction("random Recolor")->setShortcut(QKeySequence("Ctrl+R"));
colorMenu->addAction("Un-color all") ->setShortcut(QKeySequence("Ctrl+U"));
connect(colorMenu, SIGNAL(triggered(QAction*)),
this, SLOT(SelectColor(QAction*)));
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QLabel *magIcon = new QLabel; magIcon->setPixmap(QPixmap(":/zoom3.png"));
magText = new QLabel(QString("+1"));
magText->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
magText->setFont(fixedFont);
magText->setMinimumSize(QSize(30,25)); bottom->addWidget(magText);
bottom->addWidget(magIcon);
fitView = new QAction(QIcon(":/full-size.png"), QString("fit"), this);
connect(fitView, SIGNAL(triggered()), this, SLOT(DoFitView()));
bottom->addAction(fitView);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QMenu *play_menu = menuBar()->addMenu("Play");
playGen = new QLabel(QString("0"));
playGen->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
playGen->setMinimumSize(QSize(66,25));
prevGen = new QAction(QIcon(":/step-back.png"), QString("back"), this);
//.........这里部分代码省略.........
示例11: OpenImage
int OpenImage (int nFlags, LONG lParam)
{
FARPROC lpfnOpenDlg;
int hInFile = 0;
int nError = EC_ERROR;
int nFileType;
OFSTRUCT Of;
ATOM Atom;
WORD wBytes;
int hTempFile;
int nErr = FALSE;
/* First get szOpenFileName filled in */
switch (nFlags)
{
case SCAN_OPEN:
CleanFiles ();
Atom = (ATOM) LOWORD (lParam);
wBytes = GlobalGetAtomName (Atom, szOpenFileName, 128);
GlobalDeleteAtom (Atom);
GetNameFromPath ((LPSTR) szImageName, (LPSTR) szOpenFileName);
bIsCurrTemp = FALSE;
bImageModified = FALSE;
break;
case USER_OPEN:
// CleanFiles (); BUG HERE????
lpfnOpenDlg = MakeProcInstance ((FARPROC)OpenDlgProc, hInstIP);
hInFile = DialogBox (hInstIP, "FILEDLG", hWndIP, lpfnOpenDlg);
FreeProcInstance (lpfnOpenDlg);
if (hInFile)
{
CleanFiles (); // Put here instead of before call to dialog
_lclose (hInFile); // Kludge..
/* Always get image name from path. Optionally also update the szOpenDir */
GetNameFromPath ((LPSTR) szImageName, (LPSTR) szOpenFileName);
if (szOpenFileName [1] == ':') // Look for A: or B:, if neither, remember open drive/directory
{
if (! (szOpenFileName [0] == 'A' || szOpenFileName[0] == 'B' || szOpenFileName[0] == 'a' || szOpenFileName[0] == 'b'))
{
SeparateFile ((LPSTR) szOpenDir, (LPSTR) szImageName, (LPSTR)szOpenFileName);
_fstrcpy ((LPSTR) szSaveDir, (LPSTR) szOpenDir);
}
}
bIsCurrTemp = FALSE;
}
else
nErr = USER_ABANDON;
bImageModified = FALSE;
break;
case COMMAND_LINE_OPEN:
CleanFiles ();
_fstrcpy ((LPSTR)szOpenFileName, (LPSTR) lParam);
GetNameFromPath ((LPSTR) szImageName, (LPSTR) szOpenFileName);
bIsCurrTemp = FALSE;
bImageModified = FALSE;
break;
case TOOLS_OPEN:
_fstrcpy ((LPSTR)szOpenFileName, (LPSTR) lParam);
bIsCurrTemp = TRUE;
break;
case OIC_OPEN:
case AUTO_CONVERT_OPEN:
_fstrcpy ((LPSTR)szOpenFileName, (LPSTR) lParam);
bIsCurrTemp = TRUE;
bImageModified = FALSE;
break;
case CLIPBOARD_OPEN:
CleanFiles ();
Atom = (ATOM) LOWORD (lParam);
wBytes = GlobalGetAtomName (Atom, szOpenFileName, 128);
GlobalDeleteAtom (Atom);
_fstrcpy ((LPSTR) szImageName, (LPSTR) "Untitled");
bIsCurrTemp = TRUE;
bImageModified = FALSE;
break;
case GENERIC_OPEN:
case UNDO_OPEN:
_fstrcpy ((LPSTR)szOpenFileName, (LPSTR) lParam);
break;
}
if (nErr != 0)
return (nErr);
hInFile = OpenFile ((LPSTR)szOpenFileName, (LPOFSTRUCT)&Of, OF_READWRITE);
//.........这里部分代码省略.........
示例12: InitUnitHydrograph
/*****************************************************************************
Function name: InitUnitHydrograph()
Purpose :
Required :
Returns : void
Modifies :
Comments :
*****************************************************************************/
void InitUnitHydrograph(LISTPTR Input, MAPSIZE * Map, TOPOPIX ** TopoMap,
UNITHYDR *** UnitHydrograph, float **Hydrograph,
UNITHYDRINFO * HydrographInfo)
{
const char *Routine = "InitUnitHydrograph()";
char VarName[BUFSIZE + 1]; /* Variable name */
FILE *HydrographFile;
int MaxTravelTime;
int NumberType;
int TravelTimeStep;
int WaveLength;
int i;
int j;
int x;
int y;
STRINIENTRY StrEnv[] = {
{"ROUTING", "TRAVEL TIME FILE", "", NULL},
{"ROUTING", "UNIT HYDROGRAPH FILE", "", NULL},
{NULL, NULL, "", NULL}
};
unsigned short *Travel;
printf("Initializing unit hydrograph\n");
/* Read the key-entry pairs from the [ROUTING] section of the input file */
for (i = 0; StrEnv[i].SectionName; i++) {
GetInitString(StrEnv[i].SectionName, StrEnv[i].KeyName, StrEnv[i].Default,
StrEnv[i].VarStr, (unsigned long) BUFSIZE, Input);
if (!StrEnv[i].VarStr)
ReportError(StrEnv[i].KeyName, 51);
}
/* Read the travel times */
GetVarName(006, 0, VarName);
GetVarNumberType(006, &NumberType);
if (!(Travel = (unsigned short *) calloc(Map->NX * Map->NY,
SizeOfNumberType(NumberType))))
ReportError((char *) Routine, 1);
Read2DMatrix(StrEnv[travel_file].VarStr, Travel, NumberType, Map->NY,
Map->NX, 0, VarName);
/* Assign the travel times to the correct pixels */
for (y = 0, i = 0; y < Map->NY; y++)
for (x = 0; x < Map->NX; x++, i++)
TopoMap[y][x].Travel = Travel[i];
free(Travel);
/* Read the unit hydrograph file */
OpenFile(&HydrographFile, StrEnv[hydrograph_file].VarStr, "r", FALSE);
fscanf(HydrographFile, "%d", &MaxTravelTime);
HydrographInfo->MaxTravelTime = MaxTravelTime;
if (!(HydrographInfo->WaveLength =
(int *) calloc(MaxTravelTime, sizeof(int))))
ReportError((char *) Routine, 1);
if (!(*UnitHydrograph =
(UNITHYDR **) calloc(MaxTravelTime, sizeof(UNITHYDR *))))
ReportError((char *) Routine, 1);
for (i = 0; i < MaxTravelTime; i++) {
fscanf(HydrographFile, "%d %d", &TravelTimeStep, &WaveLength);
if (i != TravelTimeStep - 1)
ReportError(StrEnv[hydrograph_file].VarStr, 46);
HydrographInfo->WaveLength[i] = WaveLength;
if (!((*UnitHydrograph)[i] =
(UNITHYDR *) calloc(WaveLength, sizeof(UNITHYDR))))
ReportError((char *) Routine, 1);
for (j = 0; j < WaveLength; j++) {
fscanf(HydrographFile, "%d %f",
&((*UnitHydrograph)[i][j].TimeStep),
&((*UnitHydrograph)[i][j].Fraction));
}
}
HydrographInfo->TotalWaveLength =
(*UnitHydrograph)[MaxTravelTime - 1][WaveLength - 1].TimeStep + 1;
if (!(*Hydrograph = (float *) calloc(HydrographInfo->TotalWaveLength,
sizeof(float))))
ReportError((char *) Routine, 1);
fclose(HydrographFile);
}
示例13: DllMain
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
// Save instance handle for later access in other functions.
g_hinstDLL = hinstDLL;
// Create a buffer for holding the Windows directory path.
char szPath [150]; // Probably only 140 is needed, but why not be safe?
// Retrieve the path of the Windows directory.
GetWindowsDirectory (szPath, 128);
// Obtain number of characters copied into the buffer.
int iLen = lstrlen (szPath);
// Path ends in a backslash character if the directory is the root.
// Otherwise, path does not end in backslash. In that case, we must
// append a backslash character to the path.
if (iLen != 0 && szPath [iLen-1] != '\\')
lstrcat (szPath, "\\");
// Append TWAIN_32.DLL to the path. This is the 32-bit TWAIN DLL that
// we need to communicate with.
lstrcat (szPath, "TWAIN_32.DLL");
// If the TWAIN_32.DLL file exists in the path (which is determined by
// opening and closing that file), attempt to load TWAIN_32.DLL into
// the calling process's address space.
OFSTRUCT ofs;
if (OpenFile (szPath, &ofs, OF_EXIST) != -1)
g_hLib = LoadLibrary (szPath);
// Report failure if TWAIN_32.DLL cannot be loaded and terminate the
// JTWAIN DLL.
if (g_hLib == 0)
{
MessageBox (0, "Unable to open TWAIN_32.DLL", "JTWAIN", MB_OK);
return FALSE;
}
// Attempt to retrieve DSM_Entry() function address.
g_pDSM_Entry = (DSMENTRYPROC) GetProcAddress (g_hLib, "DSM_Entry");
// Report failure if DSM_Entry() function not found in TWAIN_32.DLL
// and terminate the JTWAIN DLL.
if (g_pDSM_Entry == 0)
{
MessageBox (0, "Unable to fetch DSM_Entry address", "JTWAIN",
MB_OK);
return FALSE;
}
// Initialize g_AppID. This structure is passed to DSM_Entry() in each
// function call.
g_AppID.Id = 0;
g_AppID.Version.MajorNum = 1;
g_AppID.Version.MinorNum = 0;
g_AppID.Version.Language = TWLG_ENGLISH_USA;
g_AppID.Version.Country = TWCY_USA;
lstrcpy (g_AppID.Version.Info, "JTWAIN 1.0");
g_AppID.ProtocolMajor = TWON_PROTOCOLMAJOR;
g_AppID.ProtocolMinor = TWON_PROTOCOLMINOR;
g_AppID.SupportedGroups = DG_CONTROL | DG_IMAGE;
lstrcpy (g_AppID.Manufacturer, "Jeff Friesen");
lstrcpy (g_AppID.ProductFamily, "Java-based Image Capture");
lstrcpy (g_AppID.ProductName, "JTWAIN");
}
else
if (fdwReason == DLL_PROCESS_DETACH)
{
// If the TWAIN_32.DLL library was loaded, remove it from memory.
if (g_hLib != 0)
FreeLibrary (g_hLib);
}
return TRUE;
}
示例14: OpenFile
/*>HandleEvent(APTR object)
------------------------
Dispatch menu events.
12.03.92 Original.
30.03.92 Modified MenuEdit to call OpenFile() directly.
31.03.92 Modified MenuSave to call SaveAsFile() directly.
05.05.92 Added Rexx menu handling
12.06.92 Removed fill grey/hatch items and replaced with requester
02.07.92 Added MenuPalette
13.07.92 Added MenuScrBack
20.07.92 Added DEMO_VERSION conditional
07.08.92 Added RemoveFills()
*/
HandleEvent(APTR object)
{
if(object == (APTR)MenuOpen) { OpenFile(object); return(0); }
if(object == (APTR)MenuSave) { SaveAsFile(object); return(0); }
if(object == (APTR)MenuSaveAs) { SaveAsFile(object); return(0); }
if(object == (APTR)MenuEdit) { OpenFile(object); return(0); }
if(object == (APTR)MenuPaper) { SetPaper(object); return(0); }
if(object == (APTR)MenuSetPens) { SetPens(object); return(0); }
if(object == (APTR)MenuPalette) { SetPalette(object); return(0); }
if(object == (APTR)MenuScrBack) { ScreenToBack(MyScreen); return(0); }
if(object == (APTR)MenuAbout) { About(object); return(0); }
if(object == (APTR)MenuQuit) { QuitProgram(object); return(0); }
#ifndef DEMO_VERSION
if(object == (APTR)MenuPS) { PlotPS(object); return(0); }
if(object == (APTR)MenuHPGL) { PlotHPGL(object); return(0); }
if(object == (APTR)MenuDR2D) { PlotDR2D(object); return(0); }
#endif
if(object == (APTR)MenuXY) { StyleXY(object); return(0); }
if(object == (APTR)MenuScatter) { StyleScatter(object); return(0); }
if(object == (APTR)MenuBar) { StyleBar(object); return(0); }
if(object == (APTR)MenuPie) { StylePie(object); return(0); }
if(object == (APTR)MenuErrors) { ToggleErrors(object); return(0); }
if(object == (APTR)MenuEject) { EjectSlice(object); return(0); }
if(object == (APTR)MenuLineSet) { SetLine(object); return(0); }
if(object == (APTR)MenuBarSet) { SetBar(object); return(0); }
if(object == (APTR)MenuPieSet) { SetPie(object); return(0); }
if(object == (APTR)MenuLogX) { ToggleLogX(object); return(0); }
if(object == (APTR)MenuLogY) { ToggleLogY(object); return(0); }
if(object == (APTR)MenuBoxed) { ToggleBoxed(object); return(0); }
if(object == (APTR)MenuGrid) { ToggleGrid(object); return(0); }
if(object == (APTR)MenuAxes) { SetAxes(object); return(0); }
if(object == (APTR)MenuFZero) { ToggleFZero(object); return(0); }
if(object == (APTR)MenuTitle) { SetTitle(object); return(0); }
if(object == (APTR)MenuAxTitle) { SetAxTitle(object); return(0); }
if(object == (APTR)MenuAxLabel) { SetAxLabel(object); return(0); }
if(object == (APTR)MenuKey) { SetKey(object); return(0); }
if(object == (APTR)MenuLabel) { SetLabel(object); return(0); }
if(object == (APTR)MenuPen) { ChangePen(object); return(0); }
if(object == (APTR)MenuFillType) { FillControl(object); return(0); }
if(object == (APTR)MenuRegress) { SetRegress(object); return(0); }
if(object == (APTR)MenuRobust) { ToggleRobust(object); return(0); }
if(object == (APTR)MenuFourier) { SetFourier(object); return(0); }
if(object == (APTR)MenuRexxFit) { RexxFit(object); return(0); }
if(object == (APTR)MenuRexx) { InstallMacro(object); return(0); }
if(object == (APTR)MenuRunRexx) { RunMacro(object); return(0); }
if(object == (APTR)MenuDebRexx) { ToggleRexxDeb(object); return(0); }
if(object == (APTR)MenuLS1) { SetLineDash(object); return(0); }
if(object == (APTR)MenuLS2) { SetLineDash(object); return(0); }
if(object == (APTR)MenuLS3) { SetLineDash(object); return(0); }
if(object == (APTR)MenuLS4) { SetLineDash(object); return(0); }
if(object == (APTR)MenuLS5) { SetLineDash(object); return(0); }
if(object == (APTR)MenuLS6) { SetLineDash(object); return(0); }
if(object == (APTR)MenuFT1) { SetFillType(object); return(0); }
if(object == (APTR)MenuFT2) { SetFillType(object); return(0); }
if(object == (APTR)MenuFT3) { SetFillType(object); return(0); }
if(object == (APTR)MenuFT4) { SetFillType(object); return(0); }
if(object == (APTR)MenuFT5) { SetFillType(object); return(0); }
if(object == (APTR)MenuFT6) { SetFillType(object); return(0); }
if(object == (APTR)MenuNoFills) { RemoveFills(object); return(0); }
return(0);
}
示例15: CLSource
/**
* ソースコードを管理するためのクラス
* \param[in] filename ファイル名
* \param[in] kernelName カーネル名
* \param[in] type ソースコードの種類
*/
CLSource(const std::string& filename, const std::string& kernelName, const SourceType type)
: fileName(filename), kernelName(kernelName), type(type)
{
OpenFile();
}