500分赠送

ikis 2003-09-29 06:20:58
在各种版本下 RasConn 应该怎么设置?C#的预处理命令怎么用?
请问调用在win2000下,为什么调用API 函数 RasEnumConnections是总是返回632,和调用API函数RasGetErrorString老是抛出ExecutionEngineException 异常。
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhgj 2003-09-30
  • 打赏
  • 举报
回复
using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Diagnostics; // Debug, Trace

namespace RAS_Application

{

/// <summary>

/// Summary description for Form1.

/// </summary>

public class MainForm : System.Windows.Forms.Form

{

private System.Windows.Forms.TextBox txtMain;

private System.Timers.Timer m_Timer;

/// <summary>

/// Required designer variable.

/// </summary>

private System.ComponentModel.Container components = null;

public IntPtr m_Handle;

public MainForm()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

// DoWork();

}

:

:

:

:

private void DoWork()

{

RAS ras =new RAS();

RASCONN lpRasConn =new RASCONN();

int lpcb =0;

int lpcConnections =0;

// lpRasConn = (LPRASCONN) GlobalAlloc(GPTR, sizeof(RASCONN));

// lpRasConn->dwSize = sizeof(RASCONN);

// lpcb = sizeof(RASCONN);

// ...SizeOf() ist 'unsafe' Code !!

lpRasConn.dwSize = System.Runtime.InteropServices.Marshal.SizeOf(lpRasConn);

lpcb = lpRasConn.dwSize;

int nRet = RAS.API_RasEnumConnections(ref lpRasConn, ref lpcb, ref
lpcConnections);

if(nRet != 0)

{

Trace.WriteLine("RasEnumConnections failed: Error = " +nRet.ToString());

txtMain.Text +="RasEnumConnections failed: Error = " +nRet.ToString();

}

else

{

Trace.WriteLine("The following RAS connections are currently active\n\n");

for (int i = 0; i < lpcConnections; i++)

{

Trace.WriteLine("Entry name: " +lpRasConn.szEntryName);

txtMain.Text +="Entry name: " +lpRasConn.szEntryName +" ";

// lpRasConn++;

}

}

if(nRet == 0)

{

// Get the connection status.

RASCONNSTATUS RasStatus =new RASCONNSTATUS();

// RasStatus.dwSize = sizeof (RASCONNSTATUS);

RasStatus.dwSize = System.Runtime.InteropServices.Marshal.SizeOf(RasStatus);

int dwReturn = RAS.API_RasGetConnectStatus(lpRasConn.hrasconn, ref
RasStatus);

// If there is an error in getting the connection status

if(dwReturn != 0)

{

Trace.WriteLine("Failed getting connect status. Error : "
+dwReturn.ToString());

txtMain.Text +="Failed getting connect status. Error : "
+dwReturn.ToString();

}

else

{

Trace.WriteLine("Connect status : " +RasStatus.rasconnstate.ToString() +"
Device : " +RasStatus.szDeviceName);

txtMain.Text +="Connect status : " +RasStatus.rasconnstate.ToString() +"
Device : " +RasStatus.szDeviceName;

}

}

}

:

:

:

/// <summary>

/// Holt den Status der RAS-Verbindung

/// </summary>

public RASCONNSTATE GetConnStatus(IntPtr intRasConn)

{

int intRetcode =0;

RASCONNSTATE RASConnState =new RASCONNSTATE();

string strDeviceName =null;

string strDevicetype =null;

RASCONNSTATUS rasconnstatus95 =new RASCONNSTATUS();

rasconnstatus95.dwSize = 160;

try

{

intRetcode = RAS.API_RasGetConnectStatus(intRasConn, ref rasconnstatus95);

}

catch(Exception e)

{

Trace.WriteLine(e.Message.ToString());

txtMain.Text +="\r\nException: " +e.Message.ToString();

}

if(intRetcode != 0)

{

/*strDeviceName = "Not Available"

strDevicetype = "Not Available"

' lngRASErrorNumber = lngRetcode

' strRASDescription = lpRASError.fcnRASErrorString()

' fcnRASGetConnectionStatus = lngRetcode

*/

}

else

{

// success

RASConnState = rasconnstatus95.rasconnstate;

strDeviceName = rasconnstatus95.szDeviceName;

strDevicetype = rasconnstatus95.szDeviceType;

// fcnRASGetConnectionStatus = 0

}

Trace.WriteLine(strDeviceName +" " +strDevicetype);

txtMain.Text +="\r\nDevice-Name: " +strDeviceName +" Device-Typ: "
+strDevicetype;

return RASConnState;

}

private void OnTimerTick(object sender, System.Timers.ElapsedEventArgs e)

{

// int Handle =0;

// Trace.WriteLine("OnTimerTick()");

GetActiveConnection(ref m_Handle);

Trace.WriteLine("OnTimerTick(): " +m_Handle.ToString());

txtMain.Text +="\r\nOnTimerTick(): " +m_Handle.ToString();

GetConnStatus(m_Handle);

}

private string GetActiveConnection(ref IntPtr Handle)

{

RASCONN lprasconn =new RASCONN();

int lpcConnections =0;

int lpcb;

IntPtr hRasConn;

string NameRasConn;

lprasconn.dwSize = 412;

lpcb = 412; //256 * lprasconn[0].dwSize;

string ret = null;

/*

========== Exception Text ==========

System.NullReferenceException: Der Wert 'null' wurde gefunden, als eine
Objektinstanz erforderlich war.

at RAS_Application.RAS.API_RasEnumConnections(RASCONN& lprasconn, Int32&
lpcb, Int32& lpcConnections)

at RAS_Application.MainForm.GetActiveConnection(IntPtr& Handle) in c:\.net
tests\03.11\ras_application\mainform.cs:line 281

at RAS_Application.MainForm.OnTimerTick(Object sender, ElapsedEventArgs e)
in c:\.net tests\03.11\ras_application\mainform.cs:line 260

*/

if(RAS.API_RasEnumConnections(ref lprasconn, ref lpcb, ref lpcConnections)
== 0)

{

if(lpcConnections > 0) // Eine DFÜ-Netzwerkverbindung ist aktiv

{

hRasConn = lprasconn.hrasconn; // Handle der Verbindung

Handle = hRasConn;

NameRasConn = lprasconn.szEntryName.ToString();

NameRasConn = NameRasConn.PadRight(NameRasConn.IndexOf(NameRasConn));

NameRasConn.Trim();

Trace.WriteLine("Name RAS-Conection: " +NameRasConn);

txtMain.Text +="\r\nName RAS-Conection: " +NameRasConn;

if(NameRasConn.IndexOf("Direct Cable Connection") > 0)

{

return null;

}

ret = NameRasConn;

}

else

Handle = IntPtr.Zero;

Trace.WriteLine("in if(): API_RasEnumConnections() !=0");

txtMain.Text +="\r\nin if(): API_RasEnumConnections() !=0";

}

Trace.WriteLine("in if(): API_RasEnumConnections() ==0");

txtMain.Text +="\r\nin if(): API_RasEnumConnections() ==0 Phonebook: "
+lprasconn.szPhonebook;

return ret;

}

}

}
cnhgj 2003-09-30
  • 打赏
  • 举报
回复
一个例子,你参考一下

using System;

using System.Runtime.InteropServices; // [DllImport]

namespace RAS_Application

{

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct LUID

{

int LowPart;

long HighPart;

}

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct RASCONN

{

public int dwSize;

public IntPtr hrasconn;

public string szEntryName;

// if(System.Environment.OSVersion >= 0x400)

//#if (WINVER >= 0x400)

public string szDeviceType;

public string szDeviceName;

//#endif

//#if (WINVER >= 0x401)

public string szPhonebook;

public int dwSubEntry;

//#endif

//#if (WINVER >= 0x500)

public Guid guidEntry;

//#endif

//#if (WINVER >= 0x501)

public int dwSessionId;

public int dwFlags;

public LUID luid;

//#endif

}

public enum RASCONNSTATE

{

RASCS_OpenPort = 0,

RASCS_PortOpened,

RASCS_ConnectDevice,

RASCS_DeviceConnected,

RASCS_AllDevicesConnected,

RASCS_Authenticate,

RASCS_AuthNotify,

RASCS_AuthRetry,

RASCS_AuthCallback,

RASCS_AuthChangePassword,

RASCS_AuthProject,

RASCS_AuthLinkSpeed,

RASCS_AuthAck,

RASCS_ReAuthenticate,

RASCS_Authenticated,

RASCS_PrepareForCallback,

RASCS_WaitForModemReset,

RASCS_WaitForCallback,

RASCS_Projected,

//#if (WINVER >= 0x400)

RASCS_StartAuthentication, // Windows 95 only

RASCS_CallbackComplete, // Windows 95 only

RASCS_LogonNetwork, // Windows 95 only

//#endif

RASCS_SubEntryConnected,

RASCS_SubEntryDisconnected,

RASCS_Interactive = 0x1000, // RASCS_PAUSED,

RASCS_RetryAuthentication,

RASCS_CallbackSetByCaller,

RASCS_PasswordExpired,

//#if (WINVER >= 0x500)

RASCS_InvokeEapUI,

//#endif

RASCS_Connected = 0x2000, //RASCS_DONE,

RASCS_Disconnected

}

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct RASCONNSTATUS

{

public int dwSize;

public RASCONNSTATE rasconnstate;

public int dwError;

public string szDeviceType;

public string szDeviceName;

}

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct RASEAPINFO

{

public int dwSizeofEapInfo;

public byte [] pbEapInfo;

}

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct RASDIALEXTENSIONS

{

public int dwSize;

public int dwfOptions;

public int hwndParent;

public uint reserved;

//#if (WINVER >= 0x500)

public uint reserved1;

public RASEAPINFO RasEapInfo;

//#endif

}

[StructLayout(LayoutKind.Sequential, Pack=1)]

internal struct RASDIALPARAMS

{

public int dwSize;

public string szEntryName;

public string szPhoneNumber;

public string szCallbackNumber;

public string szUserName;

public string szPassword;

public string szDomain;

//#if (WINVER >= 0x401)

public int dwSubEntry;

public uint dwCallbackId;

//#endif

}

/// <summary>

/// Summary description for RAS.

/// </summary>

public class RAS

{

[DllImport("Rasapi32.dll", EntryPoint="RasEnumConnectionsA",
SetLastError=true)]

internal static extern int API_RasEnumConnections

(

ref RASCONN lprasconn, // buffer to receive connections data

ref int lpcb, // size in bytes of buffer

ref int lpcConnections // number of connections written to buffer

);

[DllImport("Rasapi32.dll", EntryPoint="RasGetConnectStatus",
SetLastError=true)]

internal static extern int API_RasGetConnectStatus

(

IntPtr hrasconn, // handle to RAS connection of interest

ref RASCONNSTATUS lprasconnstatus

// buffer to receive status data

);

[DllImport("Rasapi32.dll", EntryPoint="RasDial", SetLastError=true)]

internal static extern int API_RasDial

(

ref RASDIALEXTENSIONS lpRasDialExtensions,

// pointer to function extensions data

ref string lpszPhonebook, // pointer to full path and file

// name of phone-book file

ref RASDIALPARAMS lpRasDialParams,

// pointer to calling parameters data

int dwNotifierType, // specifies type of RasDial event handler

ref IntPtr lpvNotifier, // specifies a handler for RasDial events

ref IntPtr lphRasConn // pointer to variable to receive

// connection handle

);

public RAS()

{

//

// TODO: Add constructor logic here

//

}

}

}
kuangren 2003-09-29
  • 打赏
  • 举报
回复
呵呵,这个不是很懂,帮你up好了~
kuangsha007 2003-09-29
  • 打赏
  • 举报
回复
关注,帮你顶
daou101 2003-09-29
  • 打赏
  • 举报
回复
建议把你的问题发给 思归 
gz
冷月孤峰 2003-09-29
  • 打赏
  • 举报
回复
Mark
changezhong 2003-09-29
  • 打赏
  • 举报
回复
gz
noahart 2003-09-29
  • 打赏
  • 举报
回复
up~~~~~~~~
日常操作 新用户首次登陆 +20 20 完成帐户的激活 每日登陆 +2 每日只在第一次登陆加 回答 提交回答 +2 每日最多可获得20 回答被采纳为最佳答案 +20 +悬赏 +20 +悬赏 回答被提问者采纳为最佳答案,或者通过投票被选为最佳答案,回答者可获得系统自动赠送的20经验值和财富值+提问者设置的悬赏 文档操作 上传文档成功 (其他用户可见) +2/份 标价非0文档被别人下载(自己下载自己资源不扣、不加) 标价/被下载 1 次 每份文档可以通过文档被下载获得经验值奖励的上限为 200 标价/被下载 1 次 每份文档可以通过文档被下载获得财富值奖励的上限为 200 。 当单份文档下载量超过 500 时, 500-600 次下载之间,每被下载 1 次,可以获得:文档标价 系统奖励 1 标价为0文档被别人下载(自己下载自己资源不扣、不加) 1-200 次下载,每被下载 1 次,用户获得:系统奖励 1 1-200 次下载,每被下载 1 次,用户获得:系统奖励 1 。 当单份文档下载量超过 500 时,500-600 次下载之间,每被下载 1 次,获得:系统奖励 2 减少处罚 处理过期问题 +10 过期自动转投票问题选出最佳答案或提问者对过期问题进行处理,包括采纳最佳答案和选择无满意答案,提问者都可以获得系统返还的10 其他操作 投票 +1 每日最多可获得20 知道之星 100 100 知道之星将获得100的经验值和财富值奖励 积降低: 操作 降低经验值 降低财富值 说明 提问 悬赏付出 -悬赏 提问用户设置悬赏、追加悬赏,扣除相应财富值。第一次设置悬赏最少为5,最多为100或其财富值上限(当财富值不足100时),追加悬赏最多为50或其财富值上限(当财富值不足50时),悬赏付出的数将不会返还。 匿名提问 -10 提问用户采用匿名方式提交问题,扣除10财富值 知道传情 -50/-200 -50/-200 付出 50 可展示 7 天,付出 200 可展示 30 天 文档操作 文档上线后被删除 -2 -2 下载其他用户的文档 -文档标价/下载 1次 处罚 提问上线后被删除 -20 -20 提问上线后,被管理员删除,扣除提问用户20,答复者不扣 回答上线后被删除 -10 -10 回答上线后,被管理员删除,扣除回答用户10 评论上线后被删除 -5 -5 评论上线后,被管理员删除,扣除评论用户5 问题15天内不处理 -20 -20 问题到期,提问用户不作处理(不做最佳答案判断、不通过提高悬赏延期问题有效时间,不关闭问题,或不转入投票流程),在问题直接过期或自动转投票时扣除提问用户20
旭荣管理软件加油站版是一款专为加油站设计的会员管理软件,可以根据柴油、汽油的利润来设置柴油和汽油的积率,还可以设置按金额计算积或者按加油升数计算积。(本软件已经完美破解,无任何限制,尤其解除900会员数据乱码问题。) 旭荣管理软件加油站版 旭荣管理软件加油站版 功能特点:   1、积   柴油汽油利润不同,设置柴油和汽油不同积率   还可以设置按金额积或按加油升数积   2、充值   充值多少赠送多少;充值后按油品单价优惠;充值后按实收款优惠   N多种优惠方式   3、卡混用   充值卡采用带存储功能IC卡,安全便捷不消磁   积卡采用价格低廉的磁条卡,节省成本   4、子母卡   和单位或物流公司合作,发行母卡,每个车发行子卡;方便车队了的管理,油站也可以快速回笼资金   5、限制油品   比如充值卡,只限制柴油使用,加汽油的时候会提示限制;还是因为油品利润不同嘛   6、超市管理   还可以将加油站内部超市管理起来   7、短信功能   加油或充值后,自动发短信到会员手机上,显示剩余金额、积;平时发送营销或祝福短信   8、创意营销   赠送卡项目:比如赠送卡内有500元金额;柴油卡每次加油100抵扣3元,加200抵扣6元,以此类推;汽油卡每次加油100抵扣5元,加200抵扣10元,以此类推。赠送赠送给客户,客户一般不会拒绝,感觉里边是有金额,而且不会掏一钱就可以拿到;该创意可以留住客户长期来加油。
测试等级:3级. 一.更新内容: 1.增加员工赠送限额,根据后台参数可配置为按日、周、月结算(按日结算时,每天做日结处理时更新已赠送金额为0,按周结算时,每周一做日结处理时更新已赠送金额为0,按月结算,每月1号做日结处理时更新已赠送金额为0)。 2.增加BillServer同步机制,可以把收银服务器的包厢状态同步到星云服务器。 3.去掉了点单的打印按钮。 4.出品查询与帐单查询中打印的酒水单增加[补打]。 5.咨客台以及收银台的销售经理可以手工输入名字(该名字可以不是已经建好的员工信息)。 6.结账时,打折人可以手工输入名字(该名字可以不是已经建好的员工信息),且折扣数不做限制(对于具体的折扣数,该场子会通公文的形式给定具体人员的最低折扣数) {功能使用说明:当后台参数"是否允许手工输入员工姓名 "设置为"允许"时以上两个功能同时生效。 5、在预订界面(包括收银系统和咨客系统)和开房界面输入销售经理、定位人、 包厢公主等信息时,可以通过“CTRL+TAB”在快速输入(即原来的输入法) 和手工输入(可以自由输入)之间切换,且在员工信息表中自动添加新的记录。 在业绩查询里都可以查到相应的记录。 6、结帐时打折人名字可以随意输入,且任何输入的名字都不限制折扣系数。} 7.增加了单独对包厢和包厢类别的服务费设置,当后台参数设置为收取“服务费”时包厢设置的服务费才能起作用,三处服务费的优先级从高到低排列为:包厢信息设置(具体的每一个包厢)、包厢类别设置(对一类包厢的设置)、后台参数(所有包厢) 包厢信息设置与包厢类别设置中若服务费设置为0表示无效,自动进入下一个优先级的服务费。 8.修改了消费结帐界面,增大消费信息列表。 9.营业收入统计界面中增加酒水帐单明细。 10.在点单录入、赠品管理、外卖冲帐窗口中增加物品拼音筛选功能(在条码输入框中输入拼音首字母)。 11.开房套餐改为可以退单。 12.在酒水退单查询中加一个补打的功能,并且能按查询出来的数据进行汇总打印。 13.增加了一种退单模式--点单模式退单(原退单模式仍然保留,通过后台参数控制,可选择退单模式)。关于点单模式退单的说明:此种模式下退单并不改动原先点的酒水单,而是生成了新的酒水单,只是数量为负数,和点的酒水单一样执行出品、领用的过程。 14.增加了对模特送花的功能,此功能需要星云7.4SP2配合使用。 15.在结帐单中把单价和点单类别都相同的酒水合并计算。 16.对于大厅点单增加了一种模式“先结帐再出品”,增加后台参数控制,选择此模式后,大厅点单传单后,需要结帐完吧台才能出品大厅的酒水单。 17.在结帐单中增加一列“单类”,此列值对应关系如下:开房套餐--配送,点单录入中勾上“配送”后点的酒水--配送,点单酒水--点单,点单做为从物品例送的酒水--例送,赠品管理中赠送的酒水--赠送 18.日报表打印去掉了原来的“花环”列,增加了一列“折扣率”。 19.员工伪密码(假帐查询密码)为空时系统自动判断为无效。 20.咨客增加了客人信息管理。 21.大厅赠品改为可以直接赠送,不需要先点单才能赠送。 22.修改了大厅点单的模式。 23.增加公关台票充值管理,即公关帐户先存一定金额,每次上台系统自动从该公关帐户上扣取固定的金额. 24.增加公关视频编号,配合星云7.4SP2支持公关视频播放. 25.咨客增加设置“故障”房. 26.咨客系统主界面,显示每个包厢的价格、最低消费( 注:如果是场次的,主界面显示包厢价和最低消费只显示晚场的) 27.包厢预订后在包厢界面上显示定位人或销售经理(预订时有销售经理则显示销售经理,没有销售经理而有定位人则显示定位人) 28.咨客增加带客功能,各系统增加带客状态. 29.酒水赠送单增加赠送人打印(仅自定义打印有效). 30.结帐单增加打印预订人(即定位人). 31.包厢右键菜单中增加了一项消费浏览,可查看包厢当前消费的酒水信息. 32.修改了结帐锁定的模式,避免程序异常退出造成包厢无法点单. 33.增加挂帐管理系统,具体问题:例如 客户20号消费500,结帐方式:挂帐,要求在21号的时候客户拿现金来充帐 34.后台增加参数控制赠送单是否执行例送规则. 35.结账单付款方式由如消费500元,原来的‘付款方式:现金+信用卡’改为‘付款方式:现金(200)+信用卡(300)’,具体实现各种付款方式的具体金额.(仅自定义) 36.大厅传单服务员刷卡,完成传单过程,电脑需自动把这笔酒水业绩算入该服务员上.(该功能通过后台参数控制). 37.增加后台参数控制结帐时对会员卡和打折卡的折扣率调整(卡设置中的折扣为最低折扣,结帐时可以根据实际消费情况调整折扣率). 38.包厢结帐界面,增加当前结帐包厢的:已赠送物品总金额、赠送金额占总消费金额的百比. 39.增加赠送限制:可以设置每个包厢的最大赠送金额(例送物品和配送物品不算在该限额中,赠送限额设置为0表示不控制限额). 40.当包厢以结帐重开模式开房时,不自动赠送套餐. 41.包厢前台物品显示的排序可以根据客户的要求随意更改,比如按照价格高低,或者指定排序,在物品编码中设置. 42.结帐界面现金自动计算,比如在消费的物品和赠送的物品互换后,还有输入调整金额或输入免单金额后. 43.在换房时,根据实际计费模式确定换房窗口是否显示新包厢费,如计费方式中有包含包厢费则显示,没有则不显示. 44.增加后台参数控制例送主物品是否累加,实现同一个帐单几次点的物品也可以累加算例送. 45.查询析中增加一项预订查询,可以查询到有效的预订信息(不包含已经取消预订的). 46.增加后台打印参数,控制结帐单中,退单酒水是否独立显示. 47.会员卡支持star tcp400 可视信息复写卡(厚卡)读写器. 48.日报表,帐单查询,营业收入中各种费用统一,具体如下:{费用合计(实收金额)=现金(已经包含预付费)+会员卡+储值卡+信用卡+抵用券+支票} { 应收金额=现金(已经包含预付费)+会员卡+储值卡+信用卡+抵用券+支票+挂帐+免单+折扣=实收金额+免单+挂帐+折扣} 49.酒水单的下单员值统一为服务员. 50.营业收入中增加两列:调整费用和赠送金额. 51.增加包厢内买单申请功能(需要配合星云系统特殊M包和皮肤). 52.增加物品类别参数"是否计入服务费",表示当系统选择按照消费比例计算服务费时,该类别的物品是否参与计算服务费. 53.增加后台打印参数"是否打印换房条". 54.增加日报表、帐单查询、营业收入、酒水销售、出品查询报表自定义设置,右键点击网格标题栏可以自定义日报表内容(注意:第一次使用前请先点右键选择"保存标题栏"). 55.增加结帐单显示补打次数. 56.增加包厢点单,包厢和大厅赠送落单前判断相关帐单是否已结帐. 57.增加打折记忆功能,打开结帐界面时可以直接显示上次退出时的打折信息(由后台新增加参数控制). 58.增加咨客系统预定换房功能. 59.增加咨客系统开台后界面显示客人信息. 60.增加咨客系统预定后直接带客看房. 61.增加收银系统带客状态下直接开房. 62.增加咨客系统开房后可以修改预定人(进入"包厢预定"-"查询"界面修改,有权限控制,使用前请先配置员工权限). 63.增加员工预定人组设置,在定位人中只显示属于预定人组的员工. 64.增加包厢查询可查当前的包厢消费排行和包厢已结帐数量查询. 65.增加结帐重开状态颜色. 66.增加酒水单和结帐单端口打印的字体设置. 67.增加会员卡打折卡区域折扣率设置,结帐打折时根据包厢所属的区域取对应的折扣率. 68.修改了退单时重复酒水的处理模式,改为每退一次生成一条记录. 69.把允许手工输入员工姓名和允许手工输入打折员工开成两个参数来控制. 70.收银主界面包厢增加定位人显示. 71.修改了超过低消打折时计算方法. 72.增加打折卡和会员卡增加跨区域打折. 73.增加结帐单在未结帐前可保存之前输入的一些信息,如:折扣率、服务费、调整费、其他费用以及各种支付方式. 74.增加按时间段删除营业数据. 75.代码优化并增加数据发服务器. 76.日报表和帐单查询增加显示折扣率. 77.增加触摸屏点单界面. 78.进入退单默认为当前选中的包厢. 79.主界面的包厢按拼音排序. 80.主界面右键菜单增加“点单,赠送,退单”这些操作. 81.增加"消费清单"打印,若后台参数“结帐是否自动打单”选是,则结帐界面的打单按钮打印出来的结帐单中的实收金额、实收现金、付款方式三项的值为空,标题也改为“消费清单”. 82.增加寄存系统的权限控制. 83.修改了寄存系统的界面. 二.修改的BUG: 1.不场次开房,且员工编号为0开头时,销售经理未保存进数据库的问题。 2.点单录入直接出品打印两张单子的问题。 3.大厅坐台,两张以上帐单,且有的单出品了,有的未出品时,点单赠送丢单问题 4.大厅点单直接结帐帐单号不连续的问题。 5.结帐锁定功能使用一次后就不能使用的问题。 6.点单录入同一张单子点某个有例送的物品,再点另一个物品,再点上述有例送的物品累加数量时不例送的问题。 7.员工登陆窗口修改密码时,可以把密码和假帐查询密码修改成相同的。 8.数据清理时没有把退酒水单记录清除的问题。 9.大厅点单丢结帐单的问题。 10.赠品直接出品时把该包厢酒水单都出品掉的问题。 11.出品不打单时不自动出品的问题。 12.修改模式退单时,帐单作废后生成的酒水退单记录错误的问题. 13.前台开房套餐单类错误的问题. 14.更换赠送赠送后,退单,引起人员已赠送金额错误的问题. 15.会员消费查询余额错误的问题. 16.会员积规则改为不满一的金额不积. 17.界面下方岗位值显示为权限组的问题. 18.帐单补打时收银员值错误的问题. 19.员工表导出EXCEL时,员工号中以0开头的都变成整数的问题,如001导出成1了. 20.公关集体签到连续签到出错的问题. 21.物品编码是否启用在前台点单时没有屏蔽的问题. 22.换房后没有把新房间的历史帐单打上标志的问题. 23.包厢超过200个启动billserver会弹一个错误框的问题. 24.修改了假帐密码登陆后无法进入"营业收入"和"日报表"的问题. 25.修改了吧台自动出品自动打单时,打印最后一张酒水单会出错的问题. 26.修改了包厢费为0不能换房的问题. 27.修改了打折后有些数字无法全额挂帐的问题. 28.修改了同时对一张预定单进行撤消预定和预定转房出错的问题. 29.修改了同时对一张帐单结帐和点单操作出错的问题. 30.修改了盘点单审核时更新历史盘点单的问题. 视易神通收银系统(夜总会版)V3.0 + SP1 What’s New ===================================== 增加的功能: 1.会员卡根据积设置自动升降级 2.某个收银点打开结帐界面,其他收银、吧台以及前台无法点酒水和退酒水 3.盘点表增加Excel导出功能 4.增加出品刷卡功能(在包厢里头点了酒水以后,在出品台处有专门的酒水员, 当出品台接受到包厢里头的点播酒水的需求以后,打开出品窗口,酒水员通过自己的一张射频卡或者别的卡进行刷卡验证后, 酒水自动出品并且打单,同时酒水员的名字出现在出品单上),根据后台参数设置出品是否需要刷卡(如选择自动出品则不需要刷卡) 5.结帐单中的酒水增加按物品类别小计项目(根据后台参数控制是否打印) 6.出品查询增加打印酒水出品单功能 7.后台增加参数包厢右上角显示金额可选 8.日报表打印增加预付款合计 9.物品入库明细单增加一项合计金额 解决的BUG: 1.点单时点了有例送的物品,且出品方式不同的,未按出品方式生成酒水单 2.物品盘点单审核后退出程序再进入显示未审核 3.解决出品两次的问题 4.解决出品打印串单的问题 5.员工业绩中销售经理业绩未按实收金额计算的问题 6.结帐打单锁定的时候没有锁定时间的问题 7.公关系统组长资料、清洁工资料、DJ资料中射频卡号可以重复的问题 8.寄存系统修改密码的问题 9.物品盘点时库存小于等于0的没有盘点的问题 10.出品不打单时自动出品功能失效的问题 11.日结与空置包厢时把有预订的包厢变为空置的问题 12.员工岗位新增或修改输入重复名字的岗位出错的问题 13.前台查询酒水点单时没有屏蔽未启用的物品 14.前台机顶盒点单有时例送设置失效的问题 2006-09-20 视易神通收银系统(夜总会版)V3.0 What’s New ===================================== 一、增加需求 1、在开房时,增加“赠送套餐”选择框,默认为后台包厢维护设置的套餐类型; 2、在“酒水销售”的销售明细,打出的单据中加入房间名称; 3、类似量贩功能,增加结帐重开功能,在后台参数设置“结帐后包厢处理状态”;若状态为“已结帐关闭点播系统”或“空置关闭点播系统”,则可以结帐重开,不再重复收取最低消费,只收钟点费; 4、结帐时,增加一个计算器功能。收银结帐时,要能够输入 实收金额,然后系统自动计算出找补数目;例如应收金额为78元,当客人交给收银员100元,系统要能计算出还应该找给客人 22元; 5、在“会员信息”增加“服务密码”,在“会员信息查询”通过“服务密码”查询是否存在会员名称与该服务密码匹配; 6、在“会员信息”增加会员个人基本情况:传真,邮箱,服务密码等,在查询统计的“会员信息”增加会员详细信息的查询,例如住址、电话(手机号码),传真,邮箱,积,剩余金额等等; 7、在“出品查询”中,增加一个房间号,可以用“包厢名称”和“录入员”,“时间段”来查询; 8、在‘查询统计’-‘会员信息’里的会员消费信息查询里加入会员的消费明细。具体加入每单消费明细‘包厢号’‘帐单号’‘消费金额’‘结帐日期’; 9、在“酒水退单”里,赠送商品在该商品名称后加“(赠送)”加以区别,以便在执行退单操作时,赠送物品不能退钱; 10、在后台参数设置中增加“有未结帐信息时是否可以日结”的选项;若选择“可以”则在有未结帐单情况下照样可以日结,日结之前的算上一天,之后的算下一天;若选择“不可以”则有未结帐单情况下不能日结; 11、在“查询统计”的“员工业绩”的“服务员业绩明细”,“销售明细”,如果物品是赠送的,则酒水金额显示为“0”; 12、在“物品编码”的“大类设置”中增加一项“是否计入客损”,并在后台参数设置增加“客损物品是否在前台显示”的选项来控制; 13、在“点单录入”时,选择酒水后直接退出或“清除”的时候不删单; 二、修改问题: 1、在“物品编码”的“大类设置”中,若删除某大类时,该大类所属的物品还未删除,则提示“先删除该大类所属物品再进行删除”的提示信息; 2、提高库存查询输入日期条件的容错性,若后台设置的库存查询日期超过该月最大日期,则将进入“库存查询”时,自动调整到该月的最大日期; 3、修改了“在库存查询中,输入物品类型(提供了“简拼输入”),执行查询后,返回空记录。”的问题; 4、修改了“物品编码”的“物品参数设置”的物品名称对应的拼音长度大于10会出错”的问题; 5、修改了“员工登录修改密码时,如果员工号为空,修改密码后会把所有员工卡号为空的人员的密码都修改”的问题,设置员工密码不能为空; 2006-08-17 视易神通收银系统(夜总会版)V2.0 What’s New ===================================== 1、在收银程序主界面窗口左上方中新增一个“自动出品”选项,当有出品权限的员工登录后,勾取该功能可以实现自动出品,不需在象之前版本需要打开“吧台管理 - > 吧台出品”窗口弹出才能实现自动出品功能; 2、在后台参数设置中增加一个选项,可以结帐单的打印收银员栏中选择显示“收银员工号”还是“收银员姓名”; 3、在日报表中增加总计显示; 4、增加一种钟点费的计费方式,计费方法,如下面描述: 小于多少钟(用x表示)不计费,大于X钟按单位时间多少钟(用y表示)计费。之后消费时间若小于ny+x 钟按ny钟计费,若大于ny+x钟按(n+1)y钟计费(n为正整数)。增加了会员充值后,自动打印会员充值单的功能。 举例说明:设置“小于9钟不计费,大于9钟按单位时间60钟计费”,那么具体费用如下: 消费9钟 费用为0 消费10钟 费用为1个小时的费用 消费69钟 费用为1个小时的费用 消费70钟 费用为2个小时的费用 以此类推 5、在结帐窗口中新增加显示“损坏赔偿”一拦,在结帐时可以手动输入,当有损坏赔偿时将会在结帐打印单显示。 6、解决了8000前台开房无法录音的问题。 7、之前的版本中,设置“开房赠送酒水”时操作很麻烦,需每天一个一个房间地进行赠送。改进为可先到‘基础数据->套餐设置’中先设置套餐类型、内容,再到‘基础数据->包厢设置’中包厢类别、信息维护中选择相应所要设置的选项,这样在点单设置中可以对所有包厢按需求一次性进行“开房赠送酒水”操作。 8、实现可以单独备份和恢复酒水相关数据,这个数据与星云点播系统离。 9、增加了退单时的打印功能。 10、增加了会员充值后,自动打印会员充值单的功能。 11、针对大厅卖酒水(吧台-大厅点单)可以计入员工业绩,在‘点单录入’窗口中有选择‘服务员’销售金额和酒水数量,对已结帐的包厢进行统计。 12、在主界面上增加“是否显示呼叫声音和动画”选项。 13、报表计算金额原计算方式是:实收金额=应收金额,现在修改为:实收金额=应收金额-免单-折扣-挂账; 14、增加一个“赠送需要按赠送人统计”的功能,可在‘查询统计->酒水销售’中的‘员工赠送酒水统计’中查询每个人员在选定时间内所赠送的金额。 15、改进帐单作废功能,作废后不但库存退回去,酒水也从酒水销售中去掉。 16、“日报表的打印汇总表打印出来很宽,超出了A4范围(一张纸的左边和右边都有内容没有打出来),通过在打印设置中修改设置没有效果”的问题。 17、“日报表的打印汇总表,使用ESPON300K+打印机,直接打印可以打出来(但有上面问题1的问题),但是进入预览后,再点击上面的打印设置(扳手图标),程序和操作系统都不响应了,只能重新启动电脑”的问题。 18、在“收银管理”的权限设置中可以设置“结帐管理”权限,该权限具有设置“故障房”的权限。 19. 支持低于单位时间按单位时间消费的打折功能。 20. 在主程序的标题栏中增加了是版本信息(注册版还是演示版)。 21. 后台参数设置中增加一个设置项:打印开房条时可以控制是否需要打印客人签名。 22. 结帐单打印内容中增加打印“付款方式”。 23. 积兑换中兑换某个会员积时,积界面不显示会员卡号(适用于没有进行过写卡操作的会员)。 24. 配送功能中新增了按配送类单独做为一个查询条件的查询功能,在物品参数管理中增加“是否可配送”的配置项。 25. 服务费金额为0时在结帐单不显示。 26. 收银管理中增加销售经理和包厢公主这个职务,方便在开房的选择相应人员。 27. 在主界面窗口右上方增加一个可选呼叫声音选项,如果不勾取,就取消了呼叫声音;如果勾取该选项,恢复呼叫声音。 28. 服务费率在结帐的时候可以手工输入。 29. 酒水销售查询的汇总统计中增加一条合计汇总信息。 30. 在点单录入的模块中,同一种商品在一单中可以多次点单,打印时,点多少次就打印多少条的明细,不是累计的数量。 31. 结帐的时候,调整金额支持输入负数。 32. 在帐单查询处增加酒水单补打功能。 33. 入库单据增加一个合计金额。 34. 在结帐时,可以调整计费方式。 35. 转房操作时候新增加转房条打印功能。 36. 在帐单查询和日报表里面增加显示“并房费用”。 37. 支持在TBY-210B针式打印机(使用较窄的75mm宽度的打印纸)上打印结帐单。 38.不满单位时间按单位时间计算时如果后台未设置打折信息,结帐时无法按单位时间计算的问题。 39.解决了并房操作时,并房前的包厢出品的酒水单不能退的问题。 40、修改“营业收入统计”窗口中‘打印’功能,只打印其合计费用而没有将其所有包厢费用明细打印出来 41、在“员工业绩统计”窗口中新增‘员工赠送酒水统计’功能 42、在“酒水销售查询”窗口中新增按‘出品机器’名查询功能 43、在“点单录入”窗口中进行点单操作‘落单’时其出品帐单上其‘打单时间’现显示日期和时间 44、在“会员信息”窗口中新增一个‘会员充值查询’功能 45、解决了结帐单打印的时其中间割栏的那个“-----------”虚线比其它偏长的问题 46、解决夜总会1.11SP2版本,结帐单的“物品名称”“单位”“单价”那一行非常偏左,导致其下面的物品明细不对称问题 47、解决在物品明细中点击全部显示按钮会报错 48、解决在套餐设置中选择最后一条物品信息时无法保存 2006-03-28 视易神通收银系统(夜总会版)V1.11+SP1 What’s New ===================================== 1、修改结帐单(注意不是修改日报表)的内容及排版方式,在结帐的时候,实收金额跟应收金额按客户的要求进行计算。 2、增加一个新的功能——积兑换,实现会员通过充值或者兑换来改变积。 3、后台增加一个参数“会员卡结算方式” a)会员卡充值支付:就是保留原来的会员卡充值处理方式; b)会员卡现金支付:是指会员卡可以无须充值,用现金支付,但是会员卡可以用来打折或者用来累计积。 4、在查询统计的酒水销售里,按区域(楼层)进行查询。 5、在参数设置中设置的钟点费结算方式容易引起误解,现在修改该项的说明文字,表达更清晰; 6、在读卡处增加一个手工输入卡号,可以实现打折卡打折功能,会员打折时只要提供卡号即可打折,不必非要进行刷卡; 7、在点单录入处增加一个“配送”选项,勾取该选项就可以实现配送功能,货物单价为零; 2005-12-31 视易神通收银系统(夜总会版)V1.11 What’s New ===================================== 1、增加了咨客系统。 2、增加了公关管理系统。 3、增加了VIP密码设置。 2005-11-28
版本:2.2.500特别版 为了庆祝本主机程序注册数量超过1000人而特别制作的一个免费无站点限制版本 此版本只支持IMAIL邮局 可以类开通ASP,PHP,.NET空间,空间到期自动停止,可以强制广告(HTML下),可以单独设置和管理应用程序池 功能介绍:全自动开通管理IIS,FTP,MAIL(imail)等 1、自动添加一IIS匿名访问用户比如IUSR_XXX,密码随机生成(使用IIS的FTP就是FTP用户名和密码,请设置此组帐号禁止任何方式的远程登陆) 2、自动创建一个目录,只有管理员和创建的IUSR_XXX读取和写入(可以设置)访问,防FSO跨目录访问。 3、自动生成wwwroot,database,和logfiles三个文件夹。设置wwroot为网站目录,logfiles为日志目录,database为你存放数据库和你需要保密的文件。并且自动生成一个首页文件(你可以修改这个设置,在Template目录中),提示站点开通。 4、赠送一个二级或三级域名(在后台设置),如youftpname.domain.com,立刻可以访问(此需要泛解析支持,建议把域名做成类似于*.w1.youdomain.com这样的3级泛解析)如http://www.w2.225500.com/index.html 5、提供独立的主机控制面板(/control),邮局控制面板(/mail)。支持修改FTP密码,修改绑定域名,修改自定义404错误提示,自主控制主机运行、停止和暂停。(包含了几乎所有的主机管理功能,具体功能函在提供的ASP里有详细说明)

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧