|
Isn't that the answer for you then?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Yes, it converts it into hyperlink.
|
|
|
|
|
Your email client displays it as hyperlink. Other people using other mail clients might see it just as it looks in your mail source. There's nothing you can do about that.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Put the url in single quotes; e.g.
To download Adobe Acrobat Reader you can visit on 'www.adobe.com'.
|
|
|
|
|
I am new in this.
I wanted to make windows application which have multi page option(Some Menu in the main page and after clicking them it will open that menu detail just like setting page)
i have search for the there are so much option like Magellan, ISwitchable etc
So what is the fastest way to beginner to make multi page application?
modified 5-May-15 7:36am.
|
|
|
|
|
Sorry, you will have to give us rather more detail than that!
This is not a good question - we cannot work out from that little what you are trying to do.
Remember that we can't see your screen, access your HDD, or read your mind.
So try describing exactly how you want it to work - do you want separate forms? Or on the same form? What does your menu look like? Are you using WinForms? Or WPF? And so forth...
And then explain what you have tried, and where you are stuck - we need to know so we don't try to give you a solution you have tried, or a solution you can't understand yet because you haven't covered it on your course!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I am trying to make application which communicate to my device with RS232 and I make a main page and the setting page now i just wanted that in my main page when i click the Setting button a pop-up will open which is my setting page.
I am using WinForms
|
|
|
|
|
OK - so create a new form, and call it frmSettings.
Populate it with your controls, and add "OK" and "Cancel" buttons.
For the OK Button, set the DialogResult property to "OK"
For the Cancel Button, set the DialogResult to "Cancel"
Highlight the form, and set the AcceptButton property to the OK button.
Then set the CancelButton property to the Cancel button.
Add Properties to let you transfer data into and out of your form.
Go back to your main form, and add this code to your Setting button Click event handler:
frmSettings fs = new frmSettings();
if (fs.ShowDialog() == DialogResult.OK)
{
}
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thank you so very much for your help!!!!!!
|
|
|
|
|
You're welcome!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff already gave you a good answer. I just want to mention for your better understanding that you misunderstood the meaning of "Multi Page Application". You can safely forget about that and about "ISwitchable" and "Magellan"
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Hi,
I'm going to use HTML5 in C# windows form application.
But WebBrowser tool in my toolbox does not support HTML5.
So, I want to use chrome browser in my C# application.
Please help.
|
|
|
|
|
There's a library available called "Chromium"; you'll need the SDK and the C# bindings.
Google knows where to find them.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thank you for you answer.
I download cef_binary_3.2171.1979_windows32, but it doesn't supply WebRTC.
|
|
|
|
|
Ok so I saw the cast on "altChunk" (https://www.youtube.com/watch?v=couuEc6eEjE) and the blog (http://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx), especially the HTML section. I am very new to XML and it's tools and I have been struggling to put all the pieces together. 85% of code is from research and altered.
OBJECTIVE: I have a PowerPoint slide template that has a couple of text fields that I fill (id [uic], name, PreviousDate, CurrentDate, ...) then it has two embedded word objects representing Previous Notes and Current Notes respectively. These two embedded Word objects are what I am trying to put HTML in. The HTML comes from user input via the web and stores it in a DB field. So I am looping through my data rows-->creating a copy of the slide template-->filling the placeholders (id [uic], name, PreviousDate, CurrentDate) with the data from a row-->then I am trying to fill each embedded Word object with it's HTML data-->save the slide and start the process over for each row of data.
Here is what I have so far. I have gone down many rabbit trails but I have tried to clean the code up to show just current code. My current issue is that when the slide saves it disposes my object/connection/stream(?) so I can not fill the second object. Do I need to not save until I fill both Word objects? I see the "altChunkID" but I can not tell if it actually references anything. Do I need to declare an XNamespace for the altChunk relationship?
I think I am close, but I just missing a few pieces that tie it all together. Any assistance would be educational and greatly appreciated. Below is my code; starting with a call to renderPPT(). ...Thank you in advance. :
using System;
using System.Globalization;
using System.Data;
using System.Data.Odbc;
using System.Drawing;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Configuration;
using System.Security.Principal;
using System.Text;
using System.Data.SqlClient;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml.Presentation;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Drawing;
using System.Xml;
using System.Xml.Linq;
namespace NotesFor.HtmlToOpenXml
{
public partial class Data2PPT : System.Web.UI.Page
{
static int index = 1;
XDocument mainDocX = new XDocument();
public partial class Data2Powerpoint
{
public string strUIC;
public string strANAME;
public string strPrevUpdate;
public HtmlAgilityPack.HtmlDocument htmlPrevNotes;
public HtmlAgilityPack.HtmlDocument htmlCurrNotes;
public string strCurrUpdate;
public Data2Powerpoint()
{ }
}
public void renderPPT()
{
if (File.Exists(Server.MapPath("PowerPointTemplate/FAMBriefingNotes.pptx")))
{ File.Delete(Server.MapPath("PowerPointTemplate/FAMBriefingNotes.pptx")); }
File.Copy(Server.MapPath("PowerPointTemplate/EmbedWordPPT.pptx"), Server.MapPath("PowerPointTemplate/FAMBriefingNotes.pptx"), true);
using (PresentationDocument myPres = PresentationDocument.Open(Server.MapPath("PowerPointTemplate/FAMBriefingNotes.pptx"), true))
{
PresentationPart presPart = myPres.PresentationPart;
if (presPart != null && presPart.Presentation != null)
{
Presentation pres = presPart.Presentation;
if (pres.SlideIdList != null)
{
var slideIDs = pres.SlideIdList.ChildElements;
string slidePartRelationshipID = (slideIDs[0] as SlideId).RelationshipId;
SlidePart sldPart = (SlidePart)presPart.GetPartById(slidePartRelationshipID);
if (Session["dtbl2ppt"] != null)
{
DataTable dt = (DataTable)Session["dtbl2ppt"];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
SlidePart newSldPart = CloneSlidePart(presPart, sldPart);
string HTMLheader = @"<html> <p align='left'>
<head>
<style id='oboutEditorDefaultStyle'>
.blueItalic { color: #0000ff; font-style:italic;}
body {
color:#404040;background-color: #fff;
border-width: 0px;margin-top: 0px; margin-bottom: 0px;
margin-left: 0px; margin-right: 0px;
padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;
}
body,table td
{
font-family: verdana,sans-serif;font-size: 10pt;
}
h1 {
font-size: 24pt;
}
h2 {
font-size: 18pt;
}
h3 {
font-size: 14pt;
}
h4 {
font-size: 12pt;
}
h5 {
font-size: 10pt;
}
h6 {
font-size: 8pt;
}
</style>
</head>
<body>";
string HTMLfooter = @"</p></body></html>";
HtmlAgilityPack.HtmlDocument htmlPrevNotesDoc = new HtmlAgilityPack.HtmlDocument();
htmlPrevNotesDoc.OptionOutputAsXml = true;
htmlPrevNotesDoc.LoadHtml(HTMLheader + dt.Rows[i]["PrevUnitNotes"].ToString() + HTMLfooter);
HtmlAgilityPack.HtmlDocument htmlCurrNotesDoc = new HtmlAgilityPack.HtmlDocument();
htmlCurrNotesDoc.OptionOutputAsXml = true;
htmlCurrNotesDoc.LoadHtml(HTMLheader + dt.Rows[i]["CurrUnitNotes"].ToString() + HTMLfooter);
String strPrevDT = ""; String strCurrDT = "";
if (dt.Rows[i]["PrevUpdate"] != null && dt.Rows[i]["PrevUpdate"].ToString().Length > 0)
{ strPrevDT=DateTime.Parse(dt.Rows[i]["PrevUpdate"].ToString()).ToString("yyyy-MMM-dd HH:MM"); }
if (dt.Rows[i]["CurrUpdate"] != null && dt.Rows[i]["CurrUpdate"].ToString().Length > 0)
{ strCurrDT = DateTime.Parse(dt.Rows[i]["CurrUpdate"].ToString()).ToString("yyyy-MMM-dd HH:MM"); }
SwapPlaceholderText(myPres, newSldPart, "UIC", dt.Rows[i]["UIC"].ToString(), false, i);
SwapPlaceholderText(myPres, newSldPart, "ANAME", dt.Rows[i]["ANAME"].ToString(), false, i);
SwapPlaceholderText(myPres, newSldPart, "PrevUpdate", strPrevDT, false, i);
SwapPlaceholderText(myPres, newSldPart, "CurrUpdate", strCurrDT, false, i);
SwapPlaceholderText(myPres, newSldPart, "PrevUnitNotes", htmlPrevNotesDoc.DocumentNode.InnerHtml, true, i);
SwapPlaceholderText(myPres, newSldPart, "CurrUnitNotes", htmlCurrNotesDoc.DocumentNode.InnerHtml, true, i + 1);
List<DocumentFormat.OpenXml.Drawing.Text> begTagList = newSldPart.Slide.Descendants<DocumentFormat.OpenXml.Drawing.Text>()
.Where(t => t.Text.Contains("<#")).ToList();
foreach (DocumentFormat.OpenXml.Drawing.Text text in begTagList)
text.Text = "";
List<DocumentFormat.OpenXml.Drawing.Text> endTagList = newSldPart.Slide.Descendants<DocumentFormat.OpenXml.Drawing.Text>()
.Where(t => t.Text.Contains("#>")).ToList();
foreach (DocumentFormat.OpenXml.Drawing.Text text in endTagList)
text.Text = "";
}
DeleteTemplateSlide(presPart, sldPart, slidePartRelationshipID);
}
}
}
else
{
Response.Write("No rows found.");
}
}
}
}
static void SwapPlaceholderText(PresentationDocument pDoc, SlidePart slidePart, string placeholder, string value, bool outputXML, int cnt)
{
if (!outputXML)
{
List<DocumentFormat.OpenXml.Drawing.Text> textList = slidePart.Slide.Descendants<DocumentFormat.OpenXml.Drawing.Text>()
.Where(t => t.Text.Contains(placeholder)).ToList();
foreach (DocumentFormat.OpenXml.Drawing.Text text in textList)
text.Text = value;
}
else if (placeholder == "PrevUnitNotes" || placeholder == "CurrUnitNotes")
{
using (pDoc)
{
Slide sld = slidePart.Slide;
var oleObject = sld.Descendants<OleObject>().FirstOrDefault();
if (oleObject != null)
{
var pp = pDoc.PresentationPart;
var sld1 = pp.Presentation.SlideIdList.ChildElements.OfType<SlideId>().FirstOrDefault();
var rid = sld1.RelationshipId.Value;
var sldPt = (SlidePart)pp.GetPartById(rid);
var oleRid = oleObject.Id.Value;
var embeddedPackagePart = (EmbeddedPackagePart)sldPt.GetPartById(oleRid);
XNamespace w = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
XNamespace r = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
using(var stream = embeddedPackagePart.GetStream())
using (WordprocessingDocument wDoc = WordprocessingDocument.Open(stream, true))
{
var wpDocPart = wDoc.MainDocumentPart;
HtmlConverter converter = new HtmlConverter(wpDocPart);
Body bdy = wpDocPart.Document.Body;
string altChunkId = "AltChunkId" + cnt;
AlternativeFormatImportPart chunk = wpDocPart.AddAlternativeFormatImportPart("application/xhtml+xml", altChunkId);
using (Stream chunkStream = chunk.GetStream(FileMode.OpenOrCreate, FileAccess.ReadWrite))
using (StreamWriter stringStream = new StreamWriter(chunkStream))
stringStream.Write(value);
XElement altChunk = new XElement(w + "altChunk", new XAttribute(r + "id", altChunkId));
XDocument mainDocX = GetXDocument(wDoc);
mainDocX.Root
.Element(w + "body")
.Elements(w + "p")
.Last()
.AddAfterSelf(altChunk);
SaveXDocument(wDoc, mainDocX);
}
}
}
}
}
private static void SaveXDocument(WordprocessingDocument myDoc, XDocument mainDocumentXDoc)
{
using (Stream str = myDoc.MainDocumentPart.GetStream(FileMode.Create, FileAccess.Write))
using (XmlWriter xw = XmlWriter.Create(str))
mainDocumentXDoc.Save(xw);
}
private static XDocument GetXDocument(WordprocessingDocument myDoc)
{
XDocument mainDocumentXDoc;
using (Stream str = myDoc.MainDocumentPart.GetStream())
using (XmlReader xr = XmlReader.Create(str))
mainDocumentXDoc = XDocument.Load(xr);
return mainDocumentXDoc;
}
static SlidePart CloneSlidePart(PresentationPart presentationPart, SlidePart slideTemplate)
{
SlidePart newSlidePart = presentationPart.AddNewPart<SlidePart>("newSlide" + index);
index++;
newSlidePart.FeedData(slideTemplate.GetStream(FileMode.Open));
newSlidePart.AddPart(slideTemplate.SlideLayoutPart);
SlideIdList slideIdList = presentationPart.Presentation.SlideIdList;
uint maxSlideId = 1;
SlideId prevSlideId = null;
foreach (SlideId slideId in slideIdList.ChildElements)
{
if (slideId.Id > maxSlideId)
{
maxSlideId = slideId.Id;
prevSlideId = slideId;
}
}
maxSlideId++;
SlideId newSlideId = slideIdList.InsertAfter(new SlideId(), prevSlideId);
newSlideId.Id = maxSlideId;
newSlideId.RelationshipId = presentationPart.GetIdOfPart(newSlidePart);
return newSlidePart;
}
static void DeleteTemplateSlide(PresentationPart presentationPart, SlidePart slideTemplate, string relId)
{
SlideIdList slideIdList = presentationPart.Presentation.SlideIdList;
foreach (SlideId slideId in slideIdList.ChildElements)
{
if (slideId.RelationshipId.Value.Equals(relId))
slideIdList.RemoveChild(slideId);
}
presentationPart.DeletePart(slideTemplate);
}
static void CalculateImageEmus(Bitmap bitmap, out int widthInEmu, out int heightInEmu)
{
float verticalResolution = bitmap.VerticalResolution;
float horizontalResolution = bitmap.HorizontalResolution;
int width = bitmap.Size.Width;
int height = bitmap.Size.Height;
float widthInInches = (float)width / horizontalResolution;
float heightInInches = (float)height / verticalResolution;
widthInEmu = (int)(widthInInches * 914400);
heightInEmu = (int)(heightInInches * 914400);
}
}
}
|
|
|
|
|
Hi, I'm fairly new to C# and recently I started developing a speech recognition program. At the moment I have a grammar builder which reads from a text file. This means it will only recognise a command if it's in that text file. I would really like to implement Google speech in to my program so I can search google, youtube etc without adding it to a text file. I know you can do it because I've seen people do it and it works by sending a audio file and then Google sends back the closest to confidence text.
If possible I'd really like for someone to help me to implement this. My current code(the rest is just commands) http://pastebin.com/yukznbeD[^]
|
|
|
|
|
|
Yes this is something that I'm looking for but I'm not sure how I would implement this into my C# project.
|
|
|
|
|
You start by studying the documentation.
|
|
|
|
|
I've been reading various articles and topics over the past few days. But most of them are either how to implement them into a website or something else. I just found a vb.net code snippet of how to do this so I converted it into C# so I have the right code I just don't know how I would record a flac file or add it to my code.
|
|
|
|
|
|
I just downloaded this and spent some time looking at it. It looks useful although I have no idea how to implement all this. I'm thinking about hiring someone to do this for me because there is no way I'm going to be able to do this.
|
|
|
|
|
Member 11436547 wrote: there is no way I'm going to be able to do this.
Well, you will never be able to do it unless you at least try.
If you hire someone, all you will get is more code you don't understand, can't maintain, and which doesn't help you with the next version.
If you at least try, you may learn something - and sufficient learning means you ended up doing it yourself all along.
But...if you want to hire someone I suggest you go to Freelancer.com and ask there.
But be aware: you get what you pay for. Pay peanuts, get monkeys.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Yes you're right but I have no idea how to even start
|
|
|
|
|
|