本文整理汇总了C#中DigitalPlatform.Stop.SetProgressValue方法的典型用法代码示例。如果您正苦于以下问题:C# Stop.SetProgressValue方法的具体用法?C# Stop.SetProgressValue怎么用?C# Stop.SetProgressValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DigitalPlatform.Stop
的用法示例。
在下文中一共展示了Stop.SetProgressValue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessFile
//.........这里部分代码省略.........
stream,
strXml,
lAttachmentTotalLength);
}
catch (Exception ex)
{
strError = "写入本地缓存文件的时候出错: " + ex.Message;
return -1;
}
}
}
#if NO
// 2011/12/30
// 日志记录可能动态地增加了,超过了原先为ProgressBar设置的范围
if (lFizeTotalSize < (int)lHintNext)
{
lFizeTotalSize = lHintNext;
stop.SetProgressRange(0, lFizeTotalSize);
}
#endif
if (lHintNext >= 0)
{
// 校正
if (lProgressValue + lHintNext > lSize)
{
lSize = lProgressValue + lHintNext;
stop.SetProgressRange(0, lSize);
estimate.SetRange(0, lSize);
}
stop.SetProgressValue(lProgressValue + lHintNext);
}
if (lIndex % 100 == 0)
{
stop.SetMessage("正在装入日志文件 " + strLogFileName + " 中的记录 " + lIndex.ToString() + " 。"
+ "剩余时间 " + ProgressEstimate.Format(estimate.Estimate(lProgressValue + lHintNext)) + " 已经过时间 " + ProgressEstimate.Format(estimate.delta_passed));
}
//
if (procDoRecord != null)
{
nRet = procDoRecord(strLogFileName,
strXml,
bCacheFileExist,
lHint,
lIndex,
lAttachmentTotalLength,
param,
out strError);
if (nRet == -1)
{
DialogResult result = MessageBox.Show(owner,
strLogFileName + " : " + lIndex.ToString() + "\r\n" + strError + "\r\n\r\n是否继续处理?",
"OperLogForm",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if (result == DialogResult.No)
return -1;
}
if (nRet == 1)
return 1;
示例2: menu_printHtml_Click
// 打印解释内容
void menu_printHtml_Click(object sender, EventArgs e)
{
string strError = "";
if (this.listView_records.SelectedItems.Count == 0)
{
strError = "尚未选定要打印的行";
goto ERROR1;
}
List<string> filenames = new List<string>();
string strFileNamePrefix = this.MainForm.DataDir + "\\~operlog_print_";
string strFilename = strFileNamePrefix + (1).ToString() + ".html";
filenames.Add(strFilename);
File.Delete(strFilename);
StreamUtil.WriteText(strFilename,
"<html>" +
GetHeadString(false) +
"<body>");
Stop stop = new DigitalPlatform.Stop();
stop.Register(MainForm.stopManager, true); // 和容器关联
stop.OnStop += new StopEventHandler(this.DoStopPrint);
stop.Initial("正在创建打印页面 ...");
stop.BeginLoop();
m_webExternalHost = new WebExternalHost();
m_webExternalHost.Initial(this.MainForm, null);
m_webExternalHost.IsInLoop = true;
this.GetSummary += new GetSummaryEventHandler(OperLogForm_GetSummary);
try
{
stop.SetProgressRange(0, this.listView_records.SelectedItems.Count);
int i = 0;
foreach (ListViewItem item in this.listView_records.SelectedItems)
{
Application.DoEvents();
if (stop != null && stop.State != 0)
{
strError = "用户中断";
goto ERROR1;
}
OperLogItemInfo info = (OperLogItemInfo)item.Tag;
string strLogFileName = ListViewUtil.GetItemText(item, COLUMN_FILENAME);
string strIndex = ListViewUtil.GetItemText(item, COLUMN_INDEX);
string strXml = "";
// 从服务器获得
// return:
// -1 出错
// 0 正常
// 1 用户中断
int nRet = GetXml(item,
out strXml,
out strError);
if (nRet == 1)
return;
if (nRet == -1)
goto ERROR1;
Global.SetXmlString(this.webBrowser_xml,
strXml,
this.MainForm.DataDir,
"operlogexml");
string strHtml = "";
// 创建解释日志记录内容的 HTML 字符串
// return:
// -1 出错
// 0 成功
// 1 未知的操作类型
nRet = GetHtmlString(strXml,
false,
out strHtml,
out strError);
if (nRet == -1)
goto ERROR1;
if (nRet == 1)
strHtml = strError;
StreamUtil.WriteText(strFilename,
"<p class='record_title'>" + strLogFileName + " : " + strIndex + "</p>" + strHtml);
stop.SetProgressValue(i + 1);
i++;
}
}
finally
{
this.GetSummary -= new GetSummaryEventHandler(OperLogForm_GetSummary);
if (m_webExternalHost != null)
//.........这里部分代码省略.........
示例3: ProcessSelectedRecords
int ProcessSelectedRecords(Delegate_processLog func,
out string strError)
{
strError = "";
if (this.listView_records.SelectedItems.Count == 0)
{
strError = "尚未选定要处理的行";
return -1;
}
Stop stop = new DigitalPlatform.Stop();
stop.Register(MainForm.stopManager, true); // 和容器关联
stop.OnStop += new StopEventHandler(this.DoStopPrint);
stop.Initial("正在处理日志记录 ...");
stop.BeginLoop();
try
{
stop.SetProgressRange(0, this.listView_records.SelectedItems.Count);
int i = 0;
foreach (ListViewItem item in this.listView_records.SelectedItems)
{
Application.DoEvents();
if (stop != null && stop.State != 0)
{
strError = "用户中断";
return -1;
}
OperLogItemInfo info = (OperLogItemInfo)item.Tag;
string strLogFileName = ListViewUtil.GetItemText(item, COLUMN_FILENAME);
string strIndex = ListViewUtil.GetItemText(item, COLUMN_INDEX);
string strXml = "";
// 从服务器获得
// return:
// -1 出错
// 0 正常
// 1 用户中断
int nRet = GetXml(item,
out strXml,
out strError);
if (nRet == 1)
return -1;
if (nRet == -1)
return -1;
XmlDocument dom = new XmlDocument();
try
{
dom.LoadXml(strXml);
}
catch (Exception ex)
{
strError = "装载日志记录 '" + strLogFileName + ":" + strIndex + "' XML 到 DOM 时发生错误: " + ex.Message;
return -1;
}
if (func != null)
{
if (func(strLogFileName,
Convert.ToInt32(strIndex),
dom,
null) == false)
break;
}
stop.SetProgressValue(i + 1);
i++;
}
return 0;
}
finally
{
stop.EndLoop();
stop.OnStop -= new StopEventHandler(this.DoStopPrint);
stop.Initial("处理完成");
stop.HideProgress();
if (stop != null) // 脱离关联
{
stop.Unregister(); // 和容器关联
stop = null;
}
}
}
示例4: ReloadFullElementSet
// 为选定的行装入Full元素集的记录
public void ReloadFullElementSet()
{
string strError = "";
int nRet = 0;
ZConnection connection = this.GetCurrentZConnection();
if (connection == null)
{
strError = "当前ZConnection为空";
goto ERROR1;
}
if (connection.VirtualItems.SelectedIndices.Count == 0)
{
strError = "尚未选定要装入完整格式的浏览行";
goto ERROR1;
}
DigitalPlatform.Stop stop = null;
stop = new DigitalPlatform.Stop();
stop.Register(this.MainForm.stopManager, true); // 和容器关联
stop.BeginLoop();
this.EnableControls(false);
try
{
List<int> selected = new List<int>();
selected.AddRange(connection.VirtualItems.SelectedIndices);
stop.SetProgressRange(0, selected.Count);
for (int i = 0; i < selected.Count; i++)
{
Application.DoEvents(); // 出让界面控制权
if (stop != null)
{
if (stop.State != 0)
{
strError = "用户中断";
goto ERROR1;
}
}
int index = selected[i];
stop.SetMessage("正在重新装载记录 "+(index+1).ToString()+" 的详细格式...");
byte[] baTimestamp = null;
string strSavePath = "";
string strOutStyle = "";
LoginInfo logininfo = null;
long lVersion = 0;
string strXmlFragment = "";
DigitalPlatform.Z3950.Record record = null;
Encoding currentEncoding = null;
string strMARC = "";
nRet = this.GetOneRecord(
"marc",
index, // 即将废止
"index:" + index.ToString(),
"force_full", // false,
out strSavePath,
out strMARC,
out strXmlFragment,
out strOutStyle,
out baTimestamp,
out lVersion,
out record,
out currentEncoding,
out logininfo,
out strError);
if (nRet == -1)
goto ERROR1;
stop.SetProgressValue(i);
}
return;
}
finally
{
stop.EndLoop();
stop.SetMessage("");
stop.Unregister(); // 和容器关联
stop = null;
this.EnableControls(true);
}
// return 0;
ERROR1:
MessageBox.Show(this, strError);
}
示例5: ExportToExcel
//.........这里部分代码省略.........
else if (header.TextAlign == HorizontalAlignment.Right)
alignments.Add(XLAlignmentHorizontalValues.Right);
else
alignments.Add(XLAlignmentHorizontalValues.Left);
column_max_chars.Add(0);
}
string strFontName = list.Font.FontFamily.Name;
int nRowIndex = 1;
int nColIndex = 1;
// foreach (ColumnHeader header in list.Columns)
foreach (int index in indices)
{
ColumnHeader header = list.Columns[index];
IXLCell cell = sheet.Cell(nRowIndex, nColIndex).SetValue(header.Text);
cell.Style.Alignment.WrapText = true;
cell.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
cell.Style.Font.Bold = true;
cell.Style.Font.FontName = strFontName;
cell.Style.Alignment.Horizontal = alignments[nColIndex - 1];
nColIndex++;
}
nRowIndex++;
//if (stop != null)
// stop.SetMessage("");
foreach (ListViewItem item in items)
{
Application.DoEvents();
if (stop != null
&& stop.State != 0)
{
strError = "用户中断";
return 0;
}
// List<CellData> cells = new List<CellData>();
nColIndex = 1;
// foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
foreach (int index in indices)
{
string strText = "";
ListViewItem.ListViewSubItem subitem = null;
if (index < item.SubItems.Count)
{
subitem = item.SubItems[index];
strText = subitem.Text;
}
else
{
}
// 统计最大字符数
int nChars = column_max_chars[nColIndex - 1];
if (string.IsNullOrEmpty(strText) == false && strText.Length > nChars)
{
column_max_chars[nColIndex - 1] = strText.Length;
}
IXLCell cell = sheet.Cell(nRowIndex, nColIndex).SetValue(strText);
cell.Style.Alignment.WrapText = true;
cell.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
cell.Style.Font.FontName = strFontName;
cell.Style.Alignment.Horizontal = alignments[nColIndex - 1];
nColIndex++;
}
if (stop != null)
stop.SetProgressValue(nRowIndex - 1);
nRowIndex++;
}
if (stop != null)
stop.SetMessage("正在调整列宽度 ...");
Application.DoEvents();
double char_width = ClosedXmlUtil.GetAverageCharPixelWidth(list);
// 字符数太多的列不要做 width auto adjust
const int MAX_CHARS = 30; // 60
{
int i = 0;
foreach (IXLColumn column in sheet.Columns())
{
int nChars = column_max_chars[i];
if (nChars < MAX_CHARS)
column.AdjustToContents();
else
column.Width = (double)list.Columns[i].Width / char_width; // Math.Min(MAX_CHARS, nChars);
i++;
}
}
return 1;
}
示例6: CreateReaderDetailExcelFile
//.........这里部分代码省略.........
{
ChargingHistoryLoader history_loader = new ChargingHistoryLoader();
history_loader.Channel = channel;
history_loader.Stop = stop;
history_loader.PatronBarcode = strBarcode;
history_loader.TimeRange = strTimeRange;
history_loader.Actions = "return,lost";
history_loader.Order = "descending";
CacheableBiblioLoader summary_loader = new CacheableBiblioLoader();
summary_loader.Channel = channel;
summary_loader.Stop = stop;
summary_loader.Format = "summary";
summary_loader.GetBiblioInfoStyle = GetBiblioInfoStyle.None;
// summary_loader.RecPaths = biblio_recpaths;
// 输出借阅历史表格
// 可能会抛出异常,例如权限不够
OutputBorrowHistory(sheet,
dom,
history_loader,
// this.MainForm.GetBiblioSummary,
summary_loader,
ref nRowIndex,
ref column_max_chars);
}
catch (Exception ex)
{
strError = "输出借阅历史时出现异常: " + ex.Message;
return -1;
}
finally
{
Program.MainForm.ReturnChannel(channel);
}
}
nRowIndex++; // 读者之间的空行
nReaderIndex++;
if (stop != null)
stop.SetProgressValue(nReaderIndex);
}
{
if (stop != null)
stop.SetMessage("正在调整列宽度 ...");
Application.DoEvents();
// 字符数太多的列不要做 width auto adjust
foreach (IXLColumn column in sheet.Columns())
{
int MAX_CHARS = 50; // 60
int nIndex = column.FirstCell().Address.ColumnNumber - 1;
if (nIndex >= column_max_chars.Count)
break;
int nChars = column_max_chars[nIndex];
if (nIndex == 1)
{
column.Width = 10;
continue;
}
if (nIndex == 3)
MAX_CHARS = 50;
else
MAX_CHARS = 24;
if (nChars < MAX_CHARS)
column.AdjustToContents();
else
column.Width = Math.Min(MAX_CHARS, nChars);
}
}
}
finally
{
if (doc != null)
{
doc.SaveAs(dlg.FileName);
doc.Dispose();
}
if (bLaunchExcel)
{
try
{
System.Diagnostics.Process.Start(dlg.FileName);
}
catch
{
}
}
}
return 1;
}