Added Random number range
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
<applicationSettings>
|
||||
<RedditRandomNumberGiveawayHelper.Properties.Settings>
|
||||
<setting name="Version" serializeAs="String">
|
||||
<value>V0.2.0</value>
|
||||
<value>V0.3.0</value>
|
||||
</setting>
|
||||
</RedditRandomNumberGiveawayHelper.Properties.Settings>
|
||||
</applicationSettings>
|
||||
|
||||
@@ -37,30 +37,32 @@
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.checkForUpdatesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.randomMin = new System.Windows.Forms.NumericUpDown();
|
||||
((System.ComponentModel.ISupportInitialize)(this.randomMax)).BeginInit();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.randomMin)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(11, 41);
|
||||
this.label1.Location = new System.Drawing.Point(33, 41);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(100, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Giveaway Post URI";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(117, 38);
|
||||
this.textBox1.Location = new System.Drawing.Point(139, 38);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(463, 20);
|
||||
this.textBox1.Size = new System.Drawing.Size(441, 20);
|
||||
this.textBox1.TabIndex = 1;
|
||||
//
|
||||
// randomMax
|
||||
//
|
||||
this.randomMax.Location = new System.Drawing.Point(117, 65);
|
||||
this.randomMax.Location = new System.Drawing.Point(220, 64);
|
||||
this.randomMax.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
@@ -72,7 +74,7 @@
|
||||
0,
|
||||
0});
|
||||
this.randomMax.Name = "randomMax";
|
||||
this.randomMax.Size = new System.Drawing.Size(115, 20);
|
||||
this.randomMax.Size = new System.Drawing.Size(75, 20);
|
||||
this.randomMax.TabIndex = 2;
|
||||
this.randomMax.Value = new decimal(new int[] {
|
||||
5000,
|
||||
@@ -85,15 +87,16 @@
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(11, 67);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(57, 13);
|
||||
this.label2.Size = new System.Drawing.Size(122, 13);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "Max Value";
|
||||
this.label2.Text = "Random Number Range";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(238, 64);
|
||||
this.button1.Location = new System.Drawing.Point(301, 64);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(342, 23);
|
||||
this.button1.Size = new System.Drawing.Size(279, 23);
|
||||
this.button1.TabIndex = 4;
|
||||
this.button1.Text = "Get Me A Random Winner";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
@@ -105,7 +108,8 @@
|
||||
this.textBox2.Multiline = true;
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.ReadOnly = true;
|
||||
this.textBox2.Size = new System.Drawing.Size(568, 140);
|
||||
this.textBox2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.textBox2.Size = new System.Drawing.Size(568, 171);
|
||||
this.textBox2.TabIndex = 5;
|
||||
//
|
||||
// label3
|
||||
@@ -129,24 +133,39 @@
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.checkForUpdatesToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(115, 20);
|
||||
this.fileToolStripMenuItem.Text = "Check for updates";
|
||||
this.fileToolStripMenuItem.Click += new System.EventHandler(this.checkForUpdatesToolStripMenuItem_Click);
|
||||
//
|
||||
// checkForUpdatesToolStripMenuItem
|
||||
// randomMin
|
||||
//
|
||||
this.checkForUpdatesToolStripMenuItem.Name = "checkForUpdatesToolStripMenuItem";
|
||||
this.checkForUpdatesToolStripMenuItem.Size = new System.Drawing.Size(170, 22);
|
||||
this.checkForUpdatesToolStripMenuItem.Text = "Check for updates";
|
||||
this.checkForUpdatesToolStripMenuItem.Click += new System.EventHandler(this.checkForUpdatesToolStripMenuItem_Click);
|
||||
this.randomMin.Location = new System.Drawing.Point(139, 64);
|
||||
this.randomMin.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.randomMin.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.randomMin.Name = "randomMin";
|
||||
this.randomMin.Size = new System.Drawing.Size(75, 20);
|
||||
this.randomMin.TabIndex = 8;
|
||||
this.randomMin.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(593, 273);
|
||||
this.ClientSize = new System.Drawing.Size(593, 304);
|
||||
this.Controls.Add(this.randomMin);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.button1);
|
||||
@@ -162,6 +181,7 @@
|
||||
((System.ComponentModel.ISupportInitialize)(this.randomMax)).EndInit();
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.randomMin)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -178,7 +198,7 @@
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem;
|
||||
private System.Windows.Forms.NumericUpDown randomMin;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,17 +19,40 @@ namespace RedditRandomNumberGiveawayHelper
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
//make sure to format with max number
|
||||
private static string RANDOM_ORG_URI = "https://www.random.org/integers/?num=1&min=1&max={0}&col=1&base=10&format=plain&rnd=new";
|
||||
private static string RANDOM_ORG_URI = "https://www.random.org/integers/?num=1&min={0}&max={1}&col=1&base=10&format=plain&rnd=new";
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
class DisplayTextbox
|
||||
{
|
||||
private TextBox txtBx;
|
||||
|
||||
public DisplayTextbox(TextBox x)
|
||||
{
|
||||
txtBx = x;
|
||||
}
|
||||
|
||||
public void Write(params object[] strings)
|
||||
{
|
||||
txtBx.Text += string.Join(Environment.NewLine, strings) + Environment.NewLine;
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
txtBx.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//textBox2.Text += string.Format("{0}", Environment.NewLine);
|
||||
DisplayTextbox displayTextBox = new DisplayTextbox(textBox2);
|
||||
|
||||
displayTextBox.Clear();
|
||||
var reddit = new Reddit();
|
||||
|
||||
Post giveawayPost = null;
|
||||
int? randomNumber = null;
|
||||
|
||||
@@ -37,31 +60,26 @@ namespace RedditRandomNumberGiveawayHelper
|
||||
|
||||
try
|
||||
{
|
||||
textBox2.Text += string.Format("Getting giveaway post...{0}", Environment.NewLine);
|
||||
displayTextBox.Write("Getting giveaway post...");
|
||||
giveawayPost = reddit.GetPost(new Uri(textBox1.Text));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
textBox2.Text += string.Format("{1}{0}{2}{0}",
|
||||
Environment.NewLine,
|
||||
"Failed getting giveaway post",
|
||||
displayTextBox.Write("Failed getting giveaway post",
|
||||
"You sure that's the right URI (alsomake sure to get the full uri from the address bar)");
|
||||
return;
|
||||
}
|
||||
|
||||
textBox2.Text += string.Format("{1}{2}{0}{3}{4}{0}",
|
||||
Environment.NewLine,
|
||||
"Post title: ",
|
||||
displayTextBox.Write("Post title: ",
|
||||
giveawayPost.Title,
|
||||
"Comment count: ",
|
||||
giveawayPost.CommentCount);
|
||||
|
||||
try
|
||||
{
|
||||
textBox2.Text += string.Format("{1}{0}",
|
||||
Environment.NewLine,
|
||||
"Getting random number from random.org...");
|
||||
WebRequest randomDotOrgRequest = WebRequest.Create(string.Format(RANDOM_ORG_URI, decimal.Round(randomMax.Value, 0)));
|
||||
displayTextBox.Write("Getting random number from random.org...");
|
||||
|
||||
WebRequest randomDotOrgRequest = WebRequest.Create(string.Format(RANDOM_ORG_URI, decimal.Round(randomMin.Value, 0), decimal.Round(randomMax.Value, 0)));
|
||||
using (WebResponse resp = randomDotOrgRequest.GetResponse())
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
|
||||
@@ -72,16 +90,11 @@ namespace RedditRandomNumberGiveawayHelper
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
textBox2.Text += string.Format("{1}{0}{2}{0}",
|
||||
Environment.NewLine,
|
||||
"Failed getting giveaway post",
|
||||
ex);
|
||||
displayTextBox.Write("Failed getting giveaway post", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
textBox2.Text += string.Format("{1}{2}{0}{3}{4}{0}",
|
||||
Environment.NewLine,
|
||||
"Random Number: ",
|
||||
displayTextBox.Write("Random Number: ",
|
||||
randomNumber,
|
||||
"Getting winning comment...",
|
||||
"This might take a while...");
|
||||
@@ -96,21 +109,25 @@ namespace RedditRandomNumberGiveawayHelper
|
||||
foreach (var x in nums)
|
||||
{
|
||||
if ((x.Value == randomNumber + i && randomNumber + i < decimal.Round(randomMax.Value, 0))
|
||||
|| (x.Value == randomNumber - i && randomNumber - i > 0))
|
||||
|| (x.Value == randomNumber - i && randomNumber - i > decimal.Round(randomMin.Value, 0)))
|
||||
{
|
||||
winningNumKey = x.Key;
|
||||
winningNumVal = x.Value;
|
||||
diff = i;
|
||||
break;
|
||||
}
|
||||
|
||||
//stop if we're out of range
|
||||
if (randomNumber + i > decimal.Round(randomMax.Value, 0) && randomNumber - i < decimal.Round(randomMin.Value, 0))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(winningNumKey) && winningNumVal.HasValue)
|
||||
{
|
||||
Comment winningComment = giveawayPost.Comments.FirstOrDefault(w => w.Shortlink == winningNumKey);
|
||||
|
||||
textBox2.Text += string.Format("{1}{2}{0}{3}{4}{0}{5}{6}{0}{7}{8}{0}",
|
||||
Environment.NewLine,
|
||||
"Winning comment (link): ",
|
||||
displayTextBox.Write("Winning comment (link): ",
|
||||
winningNumKey,
|
||||
"Winning comment (body): ",
|
||||
winningComment.Body,
|
||||
@@ -120,6 +137,11 @@ namespace RedditRandomNumberGiveawayHelper
|
||||
diff
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
displayTextBox.Write("What the heck?? not one post in the range? you sure you have that range right?");
|
||||
}
|
||||
}
|
||||
|
||||
private async void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace RedditRandomNumberGiveawayHelper.Properties {
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("V0.2.0")]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("V0.3.0")]
|
||||
public string Version {
|
||||
get {
|
||||
return ((string)(this["Version"]));
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="Version" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">V0.2.0</Value>
|
||||
<Value Profile="(Default)">V0.3.0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
Reference in New Issue
Block a user